微信小程序 - - - - - custom-tab-bar使用自定义tabbar

custom-tab-bar使用自定义tabbar

  • 1. 创建custom-tab-bar组件
  • 2. 修改app.json
  • 3. tabbar对应页面调整

1. 创建custom-tab-bar组件

在这里插入图片描述
各个文件代码如下
/custom-tab-bar/data.js

export default [{text: '流水笺',iconPath: '/assets/icon/bill.png',selectedIconPath: '/assets/icon/bill_actived.png',url: '/pages/notes/index',},{text: '星辰图',iconPath: '/assets/icon/charts.png',selectedIconPath: '/assets/icon/charts_actived.png',url: '/pages/star-chart/index',},{text: '时光账',iconPath: '/assets/icon/detail.png',selectedIconPath: '/assets/icon/detail_actived.png',url: '/pages/chronicle-ledger/index',},{text: '心灵岛',iconPath: '/assets/icon/mine.png',selectedIconPath: '/assets/icon/mine_actived.png',url: '/pages/soul-island/index',},
];

/custom-tab-bar/index.js

import TabMenu from './data';
console.log('TabMenu', TabMenu)
Component({data: {selected: 0,list: TabMenu,},methods: {onChange(event) {const url = event.detail.valuethis.setData({selected: url});wx.switchTab({url})},init() {const page = getCurrentPages().pop();const route = page ? page.route.split('?')[0] : '';const selected = this.data.list.findIndex((item) =>(item.url.startsWith('/') ? item.url.substr(1) : item.url) ===`${route}`,);this.setData({selected});},},
});

/custom-tab-bar/index.json

{"component": true,"usingComponents": {"t-tab-bar": "tdesign-miniprogram/tab-bar/tab-bar","t-tab-bar-item": "tdesign-miniprogram/tab-bar-item/tab-bar-item","t-icon": "tdesign-miniprogram/icon/icon"}
}

/custom-tab-bar/index.wxml

<t-tab-bar class="custom-tab-bar tab-bar" value="{{selected}}" bindchange="onChange" split="{{false}}"><t-tab-bar-item wx:for="{{list}}" wx:for-item="item" wx:for-index="index" wx:key="index"><view class="custom-tab-bar-wrapper"><image class="icon" src="{{selected == index ?item.selectedIconPath: item.iconPath}}" alt="" /><view class="text">{{ item.text }}</view></view></t-tab-bar-item>
</t-tab-bar>

/custom-tab-bar/index.wxss

.custom-tab-bar-wrapper {display: flex;flex-direction: column;align-items: center;
}.custom-tab-bar-wrapper .text {font-size: 20rpx;
}.icon {width: 25px;height: 25px;
}.tab-bar {--td-tab-bar-active-color: #9c6af1; // 修改选中icon的文案颜色
}

2. 修改app.json

app.json增加如下代码

  "tabBar": {"custom": true,"color": "#666666","selectedColor": "#FF5F15","backgroundColor": "#ffffff","borderStyle": "black","list": [{"pagePath": "pages/notes/index","text": "流水笺"},{"pagePath": "pages/chronicle-ledger/index","text": "星辰图"},{"pagePath": "pages/soul-island/index","text": "时光账"},{"pagePath": "pages/star-chart/index","text": "心灵岛"}]},

3. tabbar对应页面调整

****.js
对应文件的onShow添加代码

 onShow() {if (typeof this.getTabBar === 'function' &&this.getTabBar()) {this.getTabBar().setData({selected: 2 // 控制哪一项是选中状态})}},


如此即可正常使用自定义tabbar
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/12543.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

huggingface datasets离线加载文件的解决方案

介绍 Hugging Face Datasets是一个用于加载和处理自然语言处理&#xff08;NLP&#xff09;和计算机视觉&#xff08;CV&#xff09;数据集的库。它提供了一种统一的API来访问各种数据集&#xff0c;包括来自Hugging Face Hub、本地文件和远程URL。 然而&#xff0c;在离线环…

前端 performance api使用 —— mark、measure计算vue3页面echarts渲染时间

文章目录 ⭐前言&#x1f496;vue3系列文章 ⭐Performance api计算持续时间&#x1f496; mark用法&#x1f496; measure用法 ⭐计算echarts渲染的持续时间⭐结束 ⭐前言 大家好&#xff0c;我是yma16&#xff0c;本文分享关于 前端 performance api使用 —— mark、measure计…

Java网络编程之TCP协议核心机制(一)

目录 题外话 正题 TCP协议核心机制 1.确认应答机制 2.超时重传 3.连接管理 三次握手(建立数据连接)和四次挥手(断开连接) 三次握手 三次握手的意义 为什么不能是四次挥手和两次挥手呢??? 四次挥手(断开连接) 四次挥手的意义 四次挥手能变为三次挥手吗? 小结 题…

leetcode题目9

回文数 简单 给你一个整数 x &#xff0c;如果 x 是一个回文整数&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 回文数:是指正序&#xff08;从左向右&#xff09;和倒序&#xff08;从右向左&#xff09;读都是一样的整数。 思路 对于数字进行反转&a…

基础环境配置

IP地址设置 修改Ip地址 vi /etc/sysconfig/network-scripts/ifcfg-ens33 TYPE"Ethernet" PROXY_METHOD"none" BROWSER_ONLY"no" BOOTPROTO"static" # 设置为静态ip static DEFROUTE"yes" IPV4_FAILURE_FATAL"no&qu…

「TypeScript系列」TypeScript 运算符

文章目录 一、TypeScript 运算符二、TypeScript 算术运算符1. 基本算术运算2. 复合赋值运算符3. 自增和自减运算符4. 幂运算符 三、TypeScript 关系运算符四、TypeScript 逻辑运算符五、TypeScript 位运算符六、TypeScript 赋值运算符七、相关链接 一、TypeScript 运算符 Type…

string功能介绍(普及版)

目录 1。初始化&#xff08;好几种方式&#xff09;&#xff0c;npos和string的使用说明 2。string的拷贝&#xff0c;隐式类型转换&#xff0c;[]&#xff0c;size&#xff0c;iterator&#xff0c;begin&#xff0c;end&#xff0c;reverse&#xff0c;reverse_iterator&am…

WLAN技术

冲突域&#xff1a;连接在同一传输线缆上的所有工作站的集合&#xff0c;或者说是同一物理网段上所有节点的集合共同竞争网络资源形成的域叫冲突域。 在OSI模型中&#xff0c;冲突域被看作是第一层的概念&#xff0c;连接同一冲突域的设备有中继器、集线器&#xff08;hub&…

Redis:常用命令

文章目录 get和setRedis全局命令keysexistsdelexpirettlRedis的删除策略 本篇开始对于Redis的命令进行学习&#xff0c;当然只是学习一些常见的 get和set Redis中是使用键值对来进行存储的&#xff0c;所以get是根据key来取Value的&#xff0c;而set是来设置键值对的 set s…

mysql--表管理

mysql–表管理 查看建表语法:help create table; 查看建表语句:show create table xxxx; 查看表结构信息: show columns from xxxx 或desc xxxx; 查看索引信息 : show index from mysql.db; 查看修改表的语法 : help alter table; 添加列 : alter table users add (email…

基于springboot实现的家具销售电商平台

开发语言&#xff1a;Java 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09; 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&…

Flutter 中的 GridTile 小部件:全面指南

Flutter 中的 GridTile 小部件&#xff1a;全面指南 在Flutter的Material组件库中&#xff0c;GridTile是一个用于创建网格列表项的组件&#xff0c;它允许开发者以网格的形式展示信息&#xff0c;通常用于展示图片、图标或者一些关键信息。GridTile常用于GridTileBar中&#…

DELL服务器配置ILO(idrac)地址、修改管理员密码

服务器型号&#xff1a;DELL PowerEdge R630 1、重启服务器选择F2进入BIOS 2、重启服务器选择F2进入BIOS 3、选择“Network” 4、配置iDRAC的IP&#xff0c;掩码网关&#xff0c;DNS等信息 5、Esc返回&#xff0c;下滑选择“User Configuration” 6、配置iDRAC的用户名密码以及…

Mybatis INSERT ... ON DUPLICATE KEY UPDATE 语句进行批量插入或更新时

Product.java public class Product {private Integer productId;private String productName;private Integer quantity;// getters and setters ... }ProductMapper.xml <mapper namespace"com.example.mapper.ProductMapper"><!-- 其他的SQL映射和操作…

Spring Boot集成Ldap快速入门Demo

1.Ldap介绍 LDAP&#xff0c;Lightweight Directory Access Protocol&#xff0c;轻量级目录访问协议. LDAP是一种特殊的服务器&#xff0c;可以存储数据数据的存储是目录形式的&#xff0c;或者可以理解为树状结构&#xff08;一层套一层&#xff09;一般存储关于用户、用户…

WD—C++课前作业—30题

怎么会手和脚都在桌子上 目录 31&#xff0c;声明一个类 String,其数据成员为 char head[100],构造函数 String(char*Head)实现 head 的初始化&#xff0c;成员函数 void reverse()实现 head 内字符串的逆序存放&#xff0c;成员函数 void print()实现 head 内字符串的输出。…

01基础篇

1、初识 JVM 1.1 什么是 JVM JVM 全称是 Java Virtual Machine&#xff0c;中文译名 Java虚拟机。JVM 本质上是一个运行在计算机上的程序&#xff0c;他的职责是运行Java字节码文件。 Java源代码执行流程如下&#xff1a; 分为三个步骤&#xff1a; 编写Java源代码文件。使用…

Linux chkconfig命令教程:管理系统服务的利器(附实例详解和注意事项)

Linux chkconfig命令介绍 chkconfig命令在Linux中用于列出所有可用的服务并查看或更新它们的运行级别设置。简单来说&#xff0c;它用于列出服务的当前启动信息&#xff0c;更新服务的运行级别设置&#xff0c;以及从管理中添加或删除服务。 Linux chkconfig命令适用的Linux版…

Python轻量级Web框架Flask(14)—— 自己做Flask项目总结

0、前言&#xff1a; 本文意在记录自己在做毕业Flask项目开发时遇到的一些问题&#xff0c;并将问题解决方案记录下来&#xff0c;可做日后查询本文也会记录自己做FLask项目时实现的一些功能&#xff0c;作为开发工作的进程记录注意&#xff1a;用Flask开发的前提是已经设计好…

Java | Leetcode Java题解之第89题格雷编码

题目&#xff1a; 题解&#xff1a; class Solution {public List<Integer> grayCode(int n) {List<Integer> ret new ArrayList<Integer>();for (int i 0; i < 1 << n; i) {ret.add((i >> 1) ^ i);}return ret;} }