微信小程序的Vant Weapp组件库(WeUI组件库)

news2024/11/24 4:41:59

一、定义:

是一套开源的微信小程序UI组件库。提供了一整套UI基础组件和业务组件,能够快速地搭配出一套风格统一的页面

二、使用:

(1)(找到.eslintrc.js 右键,在内件终端打开)打开命令提示符后,输入npm init -y命令,生成package.json文件

 

(2)在内件终端继续输入npm install @vant/weapp@1.10.4 -s -y 命令安装Vant Weapp包,

生成node_modules文件夹和package-lock.json文件

(3)修改app.json全局配置文件,将里面的”style“:“v2”配置项删除。因为小程序的新版基础组件强行加上了许多样式,难以覆盖,不关闭将造成部分组件样式混乱

(4)在菜单栏执行工具-》构建npm命令。构建npm

此时会多出一个文件夹 ,这里面就是vant-weapp组件库

 

三、测试vant是否装好:

(1)在app.json文件或页面的json文件中的usingComponents配置项中引用button组件

(2) 在index.wxml里写自定义按钮

<Van-button type="primary">我是vant组件库的按钮</Van-button>

四、vant  weapp组件库的自定义tabbar组件的使用:

注意:Tabbar组件,也可以用来作为小程序的自定义Tabbar使用

(1)理论知识:

微信小程序自定义tabbar的配置信息 

  • 在 app.json 中的 tabBar 项指定 custom 字段,同时其余 tabBar 相关配置也补充完整。
  • 对于custom字段,它用于指定是否启用自定义tabBar。当custom字段设置为true时,小程序将不会自动使用默认的tabBar,而是会尝试读取项目根目录下的custom-tab-bar文件夹中的index组件,并将其作为自定义的tabBar进行渲染。
  • 所有 tab 页的 json 里需声明 usingComponents 项,也可以在 app.json 全局开启。

(2)在app.json文件或页面的json文件中的usingComponents配置项中引用自定义tabbar组件 

 

"usingComponents": {
    "van-tabbar":"@vant/weapp/tabbar/index",
    "van-tabbar-item":"@vant/weapp/tabbar-item/index"
  },

(3)在app.json文件或页面的json文件中建立三个页面文件,以便于等下tabbar组件的切换

"pages": [
        "pages/home/home",
        "pages/message/message",
        "pages/contact/contact"
      ],

并且在每个文件的wxml页面写上对应的内容

(4)在app.json文件或页面的json文件中写好tabbar的属性配置:

"tabBar": {
    "custom": true,
    "list": [
        {
            "pagePath": "pages/home/home",
            "text": "首页",
            "iconPath": "/images/tabs/home.png",
            "selectedIconPath": "/images/tabs/home-active.png"
        },
        {
          "pagePath": "pages/message/message",
          "text": "消息",
          "iconPath": "/images/tabs/message.png",
          "selectedIconPath": "/images/tabs/message-active.png"
      },
      {
          "pagePath": "pages/contact/contact",
          "text": "联系我们",
          "iconPath": "/images/tabs/contact.png",
          "selectedIconPath": "/images/tabs/contact-active.png"
      }
    ]
},

(5)在pages下的是三个页面:contact、home、message页面的js文件下配置active选中状态

*通过onShow() 来更新 tabBar 的状态,进而来通知它哪个 tab 是当前活动的。*this.getTabBar() 是尝试获取 tabBar 的实例,然后使用 setData 方法来更新它的数据。

*对于自定义的 tabBaractive是自定义组件内部使用的一个数据属性,用来控制哪个 tab 应该显示为选中状态。

在pages下面的contact文件夹下的js文件里:

onshow是生命周期函数--用来监听页面显示

(7)结果显示:

点击不同的tabbar显示不同的页面

五、微信小程序中,自定义tabBar和默认的tabBar属性的区别

在微信小程序中,这二者有显著的区别,这不仅体现在配置方式和使用场景上,还体现在其功能和灵活性上。下面是对两者属性和操作的详细比较:

(1)自定义tabBar属性及操作

属性

  • custom:设置为true时启用自定义tabBar

操作

  1. 配置custom字段:在app.jsonapp.config.json文件中,将custom字段设置为true

    "tabBar": {
    "custom": true
    }
  2. 编写样式和逻辑:在自定义组件中编写tabBar的样式、图标和逻辑,如页面跳转、选中状态等。

  3. 页面间交互:如果需要在页面间与自定义tabBar进行交互(例如获取当前选中项或触发tabBar更新),可以通过全局状态管理或事件总线等方式实现。

(2)默认tabBar属性及操作

属性

  • color:未选中时的文字颜色。
  • selectedColor:选中时的文字颜色。
  • backgroundColor:背景色。
  • borderStyle:边框样式。
  • listtab项的列表。

操作

  1. 配置tabBar属性:在app.jsonapp.config.json文件的tabBar对象中设置上述属性。

    {
    "tabBar": {
    "color": "#999",
    "selectedColor": "#007AFF",
    "backgroundColor": "#FFFFFF",
    "borderStyle": "black",
    "list": [
    {
    "pagePath": "pages/index/index",
    "text": "首页",
    "iconPath": "images/home.png",
    "selectedIconPath": "images/home_selected.png"
    },
    // ... 其他tab项
    ]
    }
    }
  2. 无需创建组件:使用默认tabBar时,无需创建额外的组件文件,所有配置均在app.jsonapp.config.json中完成。

(3)区别与注意事项

  • 灵活性:自定义tabBar提供了更高的灵活性,可以自定义样式、图标、动画等,但开发成本也相应增加。默认tabBar则较为简单,适用于基本的页面导航。

  • 开发成本:使用默认tabBar配置简单,几乎无需额外开发;而自定义tabBar则需要编写组件代码,并进行页面间的交互逻辑处理。

  • 兼容性:自定义tabBar需要确保在不同设备和微信版本上的兼容性;默认tabBar则具有更好的兼容性保障。

  • 更新与维护:自定义tabBar的样式和功能更新需要修改组件代码,而默认tabBar则可以通过修改配置快速更新。

(4)总结

在选择使用自定义tabBar还是默认tabBar时,应根据项目需求、开发资源和时间成本进行综合考量。对于需要高度个性化或复杂交互的场景,可以选择自定义tabBar;对于基本的页面导航和快速开发需求,使用默认tabBar更为合适。

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

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

相关文章

springcloud整合网关(springcloud-gateway) 跨域处理

pom引入依赖 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId></dependency><!-- 服务注册 --><dependency><groupId>com.alibaba.cloud</groupId&…

抛弃Elasticsearch ,MeiliSearch 从入门到入门,现在不精通

Elasticsearch 做为老牌搜索引擎&#xff0c;功能基本满足&#xff0c;但复杂&#xff0c;重量级&#xff0c;适合大数据量。 MeiliSearch 设计目标针对数据在 500GB 左右的搜索需求&#xff0c;极快&#xff0c;单文件&#xff0c;超轻量。 所以&#xff0c;对于中小型项目来说…

事件高级。

一、注册事件&#xff08;绑定事件&#xff09; 就是给元素添加事件 注册事件有两种方式&#xff1a;传统方式和方法监听注册方式 1 传统注册方式 方法监听注册事件 2、 addEventListener 事件监听方式 里面的事件类型是字符串&#xff0c;必定加引号&#xff0c;而且不带o…

【DIY小记】深圳万象天地餐馆探店点评

第一次在技术博客里面写生活日记&#xff0c;也算是破了个小天荒。个人以为&#xff0c;博客是个人生活思考的载体&#xff0c;而技术只占生活的一部分&#xff0c;那么博客里为什么一定要限制只能够写技术内容&#xff0c;不能写点其它生活上的东西呢&#xff1f;思来想去&…

WHAT - CSS Animationtion 动画系列(三)- 动画卡顿分析

目录 一、背景二、动画卡顿具体分析三、具体优化方法3.1 JavaScript:优化 JavaScript 代码1. requestAnimationFrame 优化2. Web Worker3.2 Style:减少 DOM 操作3.3 Layout:避免频繁触发布局的动画3.4 避免强制同步布局事件3.5 Paint&Composite:GPU加速一、背景 自 HT…

查询新加 字段不返回数据要看 有没有 AllInfoResultMap 有要再里面加字段

查询新加 字段不返回数据要看 有没有 AllInfoResultMap 有要再里面加字段

深度学习+计算机视觉

在旷视 这个ai四小龙 深度学习 是必不可少&#xff0c;而且这年头…… 机器学习:在预定义的可能性空间中&#xff0c;利用反馈信号的指引&#xff0c;在输入数据中寻找有用的表示和规则 原理 a. 对神经网络的权重&#xff08;有时也被称为该层的参数&#xff09;进行随机赋值…

MFC的view视图为何不能拖入控件

在MFC中&#xff0c;View类通常用于显示和处理应用程序的数据&#xff0c;而不是直接用于设计用户界面。因此&#xff0c;默认情况下&#xff0c;MFC的View类是不支持在设计时拖动控件的。 MFC中设计用户界面通常使用的是对话框类&#xff08;Dialog&#xff09;或窗口类&…

C++入门必读-Qt的安装与配置

QT简介 Qt是一个跨平台的C图形用户界面应用程序框架。它为应用程序开发者提供建立图形界面所需的所有功能。它是完全面向对象的&#xff0c;很容易扩展&#xff0c;并且允许真正的组件编程。 QT下载 访问下载网站: Index of /archive/qt 安装编译器 QT安装 建议安装之前将网络断…

从关键新闻和最新技术看AI行业发展(2024.4.22-5.5第二十二期) |【WeThinkIn老实人报】

写在前面 【WeThinkIn老实人报】旨在整理&挖掘AI行业的关键新闻和最新技术&#xff0c;同时Rocky会对这些关键信息进行解读&#xff0c;力求让读者们能从容跟随AI科技潮流。也欢迎大家提出宝贵的优化建议&#xff0c;一起交流学习&#x1f4aa; 欢迎大家关注Rocky的公众号&…

Scoop国内安装、国内源配置

安装配置源可参考gitee上的大佬仓库&#xff0c;里面的步骤、代码都很详细&#xff0c;实测速度也很好 glsnames/scoop-installer 也可以结合其它bucket使用 使用Github加速网站&#xff0c;也可以换做其他代理方式&#xff0c;自行测试 例如&#xff1a;https://mirror.ghprox…

点云DBSCAN聚类,同时获取最多点数量的类,同时删除其他的类并显示

代码的主要目的是处理一个点云文件(从某个巷道或类似环境中获取的),并尝试识别并可视化其中的主要结构(比如墙壁),同时去除可能的噪声和异常点。它首先读取一个点云文件,进行降采样和异常点移除,然后使用DBSCAN聚类算法对剩余的点云进行聚类,最后选择并可视化包含最多…

vscode+clangd阅读Linux内核源码

1. 禁用或卸载官方C/C插件. 2. 安装clangd插件 3. 清除之前的产物 4. 生成.config文件 5.编译生成内核镜像 6.编译内核模块 7.编译设备树文件 8.生成compile_commands.json文件 运行上述命令后&#xff0c;在内核源码根目录生成了compile_commands.json文件 9.设置clangd插…

JAVA抽象类,接口与内部类,常用API知识总结

文章目录 抽象类和抽象方法抽象类的定义格式抽象方法的定义格式注意事项 接口定义和使用成员特点和类之间的关系新增JDK8新增方法JDK9新增方法 总结设计模式 内部类使用场景分类成员内部类获取内部类对象访问成员变量 静态内部类局部内部类匿名内部类格式使用场景 示例 常用API…

Java(三)---逻辑控制

文章目录 前言1.逻辑控制语句的分类1.顺序结构2.分支结构2.1.if结构2.1.1.if...else语句2.2.2.if ... else if... else语句 2.2.switch语句 3.循环结构3.1.while3.2.break3.3.continue3.4.for循环3.5.do while循环 4.输入输出4.1.输入到控制台4.2.从键盘输入 前言 前两篇文章&…

数据分析概念定义和发展前景

数据分析概念定义和发展前景 前言一、数据分析概念二、数据的定义数据的定义数据的分类定性数据定量数据 三、数据的价值数据为什么具有价值 四、数据分析的目的对于企业来说总结 五、数据分析类型的划分描述性统计分析探索性数据分析传统的统计分析方法验证性数据分析 六、 数…

240512-关于如何用VSCode编写C#程序的简单说明

240512-关于如何用VSCode编写C#程序的简单说明 从安装软件开始 &#xff0c;到编写一个HelloWorld的C#文件结束&#xff0c;介绍如何用VSCode编写C#程序 1 上官网下载一个安装包 官网地址&#xff1a;https://visualstudio.microsoft.com/zh-hans/downloads/ 2 打开安装包进…

3D分子生成的定制扩散框架 MolDiff - 评测

MolDiff模型是一种考虑分子键生成的3D分子生成的新模型。MolDiff是清华大学智能产业研究院马剑竹课题组发表在PMLR 2023的工作&#xff0c;第一作者是Xingang Peng&#xff0c;文章题目为&#xff1a;《 Addressing the Atom-Bond Inconsistency Problem in 3D Molecule Genera…

计算机毕业设计 | vue+springboot调查问卷管理系统(附源码)

1&#xff0c;研究目的 在进入21世纪以后&#xff0c;互联网得到了蓬勃的发展&#xff0c;电子问卷调查也开始逐渐流行起来。传统纸质问卷和电子问卷相比较后&#xff0c;传统问卷还存在很多弊端&#xff1a; 问卷分发起来比较困难&#xff0c;并且分发试卷耗费大量的金钱和时…

Vue3项目Easy云盘(二):文件列表+新建目录+文件重命名+文件上传

一、文件列表 1.封装全局组件Table.vue 因为Main.vue等都会用到文件列表table&#xff0c;所以直接封装成组件。 src/components/Table.vue <template><!-- 表格 --><div><el-tableref"dataTable":data"dataSource.list || []":h…