小程序vant-tabbar使用示例,及报错处理

news2025/7/19 21:46:16

小程序vant-tabbar使用示例,及报错处理

    • 1. 配置信息
    • 2. 添加 tabBar 代码文件
    • 3. 编写 tabBar 代码
            • `custom-tab-bar/index.ts`
            • `custom-tab-bar/index.json`
            • `custom-tab-bar/index.wxml`

使小程序使用vant-tabbar组件时,遇到以下报错:Couldn’t found the ‘custom-tab-bar/index.json’ file relative to ‘app.json.json’

vant-tabbar是自定义tabBar,所以需要遵循以下规则

自定义 tabBar
基础库 2.5.0 开始支持,低版本需做兼容处理。

在自定义 tabBar 模式下

  • 为了保证低版本兼容以及区分哪些页面是 tab 页,tabBar 的相关配置项需完整声明,但这些字段不会作用于自定义 tabBar 的渲染。
  • 此时需要开发者提供一个自定义组件来渲染 tabBar,所有 tabBar 的样式都由该自定义组件渲染。推荐用 fixed 在底部的 cover-view + cover-image 组件渲染样式,以保证 tabBar 层级相对较高。
  • 与 tabBar 样式相关的接口,如 wx.setTabBarItem 等将失效。
  • 每个 tab 页下的自定义 tabBar 组件实例是不同的,可通过自定义组件下的 getTabBar 接口,获取当前页面的自定义 tabBar 组件实例。
  • 注意:如需实现 tab 选中态,要在当前页面下,通过 getTabBar 接口获取组件实例,并调用 setData 更新选中态。可参考底部的代码示例。

使用流程

1. 配置信息

  • 在 app.json 中的 tabBar 项指定 custom 字段,同时其余 tabBar 相关配置也补充完整。
  • 所有 tab 页的 json 里需声明 usingComponents 项,也可以在 app.json 全局开启。

示例

{
"tabBar": {
    "custom": true,
    "color": "#000000",
    "selectedColor": "#000000",
    "backgroundColor": "#000000",
    "list": [
      {
        "pagePath": "pages/index/index"
      },
      {
        "pagePath": "pages/user/user"
      }
    ]
  },
  "pages": [
    "pages/index/index",    
    "pages/user/user",
    "custom-tab-bar/index"
  ],
}

2. 添加 tabBar 代码文件

在代码根目录下添加入口文件,务必注意,目录不能有错,tabbar目录下命名必须是index,跟pages是同级的,不然会报以下错误:Couldn’t found the ‘custom-tab-bar/index.json’ file relative to ‘app.json.json’

custom-tab-bar/index.ts
custom-tab-bar/index.json
custom-tab-bar/index.wxml
custom-tab-bar/index.less

在这里插入图片描述

3. 编写 tabBar 代码

custom-tab-bar/index.ts
Page({

  /**
   * 页面的初始数据
   */
  data: {
    active: 0,
		list: [
			{
				icon: 'home-o',
				text: '概况',
				url: '/pages/index/index'
      		},
			{
				icon: 'user-o',
				text: '个人信息',
				url: '/pages/user/user'
			}
		]
  },
onLoad() {
    const page:any = getCurrentPages().pop();
    console.log(page);
    
    this.setData({
      active: this.data.list.findIndex(item => item.url === `/${page.route}`)
    });
  },
/**
   * tab点击事件
   * @param event 
   */
  tabOnChange(event: any) {
  	this.setData({ active: event.detail });
    wx.switchTab({
      url: this.data.list[event.detail].url
    })
  },
 })
custom-tab-bar/index.json
{
  "component": true,
  "usingComponents": {
    "van-tabbar": "@vant/weapp/tabbar/index",
	"van-tabbar-item": "@vant/weapp/tabbar-item/index"
  }
}
custom-tab-bar/index.wxml
<van-tabbar active="{{ active }}" bind:change="tabOnChange">
  <van-tabbar-item wx:for="{{ list }}" wx:key="index" icon="{{ item.icon }}">{{
    item.text
  }}</van-tabbar-item>
</van-tabbar>

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

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

相关文章

Java基于springboot+vue的儿童玩具销售购物网站 多商家

爱玩儿是所有孩子的天性。尤其是在婴幼儿阶段。选择一个好的玩具&#xff0c;不仅能够让孩子玩儿的开心&#xff0c;而且有助于孩子智力的开发。很多家长在选择玩具的时候&#xff0c;不知道选择什么样的玩具。且当前玩具市场的玩具鱼目混杂&#xff0c;种类繁多&#xff0c;而…

SAR信号处理基础1——线性调频信号

关键字&#xff1a;线性调频信号&#xff0c;LFM信号&#xff0c;chirp信号&#xff0c;驻定相位原理&#xff08;POSP&#xff09;&#xff0c;泰勒展开&#xff0c;Taylor展开&#xff0c;脉冲压缩&#xff0c;匹配滤波&#xff0c;sinc&#xff0c;分辨率&#xff0c;峰值旁…

QProgressDialog.close()失败,进度条关闭感觉失败了,无法彻底关闭

开发环境&#xff1a;我是在deepin&#xff08;深度&#xff09;系统下开发的&#xff0c;在我本机上&#xff0c;一点问题也没有&#xff0c;但是我移植到了ubantu的机子上&#xff0c;就偶尔出现出个问题&#xff0c;出现了一个模态框&#xff0c;需要重启软件才能关闭。 问题…

Vue的computed和watch的区别是什么?

一、computed介绍 computed 用来监控自己定义的变量&#xff0c;该变量在 data 内没有声明&#xff0c;直接在 computed 里面定义&#xff0c;页面上可直接使用。 //基础使用 {{msg}} <input v-model"name" /> //计算属性 computed:{msg:function(){return …

【MySQL】MySQL日志系统以及InnoDB背后的技术(MySQL专栏启动)

&#x1f4eb;作者简介&#xff1a;小明java问道之路&#xff0c;专注于研究 Java/ Liunx内核/ C及汇编/计算机底层原理/源码&#xff0c;就职于大型金融公司后端高级工程师&#xff0c;擅长交易领域的高安全/可用/并发/性能的架构设计与演进、系统优化与稳定性建设。 &#x1…

Java基于springboot+vue的个人博客网站 前后端分离

随着现在网络的快速发展&#xff0c;网上管理系统也逐渐快速发展起来&#xff0c;网上管理模式很快融入到了许多网站的之中&#xff0c;随之就产生了“博客网站”&#xff0c;这样就让博客网站更加方便简单。 对于本博客网站的设计来说&#xff0c;系统开发主要是采用java语言技…

2022国产8K摄像机介绍

摄像机是一种把光学图像信号转变为电信号&#xff0c;以便于存储或者传输的设备。当我们拍摄一个物体时&#xff0c;此物体上反射的光被摄像机镜头收集&#xff0c;使其聚焦在摄像器件的受光面&#xff08;例如摄像管的靶面&#xff09;上&#xff0c;再通过摄像器件把光转变为…

N-HiTS: Neural Hierarchical Interpolation for Time Series Forecasting

N-HiTS: Neural Hierarchical Interpolation for Time Series Forecasting 神经预测的最新进展加速了大规模预测系统性能的提高。然而,长期预测仍然是一项非常困难的任务。影响这项任务的两个常见挑战是预测的波动性和它们的计算复杂性。本文提出N-HiTS,一种通过结合新的分层…

不同字符编码对比

目录 1. ASCII码 2. Unicode 3. GBK编码 1. ASCII码 ASCII码使用一个字节编码&#xff0c;但只适用于英文&#xff1b; 2. Unicode Unicode定义了字符集&#xff0c;有 17 个 code plane&#xff0c;总共规划了 1,114,112 个 code point。而这些字符可以使用UTF-8、UTF-1…

Windows无法访问指定设备、路径或文件怎么办?

如何解决Windows 无法访问指定的设备、路径或文件错误&#xff1f; 1.修改安全中心的设置 如果在安装程序的过程中&#xff0c;遇到该错误&#xff0c;可以进入到【Windows安全中心】进行设置修改。 第一步&#xff1a;点击左下角的开始按钮&#xff0c;然后依次点击【设置】…

直接安装WSL2及安装Ubuntu到F盘

1. 勾选这三项&#xff0c;重启 2. 以管理员方式运行powersell wsl --updatewsl --shutdownwsl --set-default-version 2wsl --status3. 解压缩ubuntu 解压缩Ubuntu_1804.2019.522.0_x64.appx到F盘 4. 安装ubuntu 双击ubuntu1804.exe安装 5. 运行 双击ubuntu1804.exe …

AI人工智能实践技术系统性教学方案

郁磊老师【副教授】 &#xff1a;长期从事Python、Matlab机器学习及深度学习等研究工作&#xff0c;具备良好的数学及信号处理基础&#xff0c;熟悉如神经网络、支持向量机、决策树、随机森林等&#xff0c;以及群优 化算法&#xff0c;如遗传算法、蚁群算法、蝙蝠算法等&#…

React源码解读之更新的创建

React 的鲜活生命起源于 ReactDOM.render &#xff0c;这个过程会为它的一生储备好很多必需品&#xff0c;我们顺着这个线索&#xff0c;一探婴儿般 React 应用诞生之初的悦然。 更新创建的操作我们总结为以下两种场景 ReactDOM.rendersetStateforceUpdate ReactDom.render …

k8s-dynamic-pvc

安装 storage class: external-storage/nfs-client/deploy at master kubernetes-retired/external-storage GitHub 下载文件并安装: class.yaml deployment.yaml rbac.yaml 其中修改: 安装 测试: [rootmaster test-dir]# cat nginx-1.yaml apiVersion: v1 kind: Pers…

【Pytorch with fastai】第 4 章 :底层训练数字分类器

&#x1f50e;大家好&#xff0c;我是Sonhhxg_柒&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流&#x1f50e; &#x1f4dd;个人主页&#xff0d;Sonhhxg_柒的博客_CSDN博客 &#x1f4c3; &#x1f381;欢迎各位→点赞…

一切为了喵喵 | 攻防世界 x Nepnep x CATCTF邀你一战!

各位极客请注意❗ 各位极客请注意❗❗ 为了坚决捍卫每只小猫咪吃饱饭的权利 为了彻底贯彻“可爱就是王道”的正义 攻防世界 x Nepnep x CATCTF 邀你一战&#xff01; 此战若成&#xff0c;8333只流浪喵星人将能饱餐一顿&#xff01; 没有一只修猫咪饿肚子的明天在等着我们…

【Python】初始Python

文章目录一. Python背景知识1. Python的起源2. Python的作用3. Python的优缺点4. Python的前景二. 搭建Python环境1. 安装Python2. 安装 PyCharm一. Python背景知识 1. Python的起源 Python祖师爷吉多 范罗苏姆&#xff08;Guido van Rossum&#xff09;是一个荷兰程序员&am…

简易的Python小游戏,上班可玩一天,零基础小白可练手

文章目录 一、第一次写Python小游戏二、对小游戏进行改进 1.对玩家进行提示2.提供多次机会给玩家3.每次答案应该是随机的 三、总结 一、第一次写Python小游戏 刚开始学习Python这门计算机语言&#xff0c;所以在网上找了一个非常简易的小游戏来进行模仿编写&#xff0c;目的…

【数据挖掘】聚类分析

聚类分析 Cluster Analysis 肝到爆炸呜呜呜 一、什么是聚类分析 关键词 1️⃣ 簇 Cluster&#xff1a;数据对象的集合&#xff0c;相同簇中的数据彼此相似&#xff0c;不同簇中的数据彼此相异。 2️⃣ 聚类分析 Cluster analysis&#xff1a;根据数据特征找到数据中的相似性…

Servlet | HttpServlet源码分析、web站点的欢迎页面

目录 一&#xff1a;HttpServlet源码分析 二&#xff1a;web站点的欢迎页面 一&#xff1a;HttpServlet源码分析 1、HttpServlet类是专门为HTTP协议准备的&#xff0c;比GenericServlet更加适合HTTP协议下的开发 HttpServlet在哪个包下&#xff1f; jakarta.servlet.http.Ht…