微信小程序中集成有赞UI自定义Tabbar组件

下载有赞小程序demo vant-weapp
在这里插入图片描述

  1. 打开app.json添加自定义tabBar
    在这里插入图片描述
{
  "pages": [
    "pages/cart/index",
    "pages/goods/index",
    "pages/user/index"
  ],
  "window": {
    "backgroundTextStyle": "light",
    "navigationBarBackgroundColor": "#fff",
    "navigationBarTitleText": "WeChat",
    "navigationBarTextStyle": "black"
  },
  "tabBar": {
    "custom": true,
    "list": [
      {
        "pagePath": "pages/cart/index",
        "text": "购物车"
      },
      {
        "pagePath": "pages/goods/index",
        "text": "商品详情"
      },
      {
        "pagePath": "pages/user/index",
        "text": "会员中心"
      }
    ]
  },
  "usingComponents": {},
  "sitemapLocation": "sitemap.json"
}
  1. 项目根目录创建custom-tab-bar文件夹,再创建3个文件:index.json、index.wxml、index.js,在这里插入图片描述
    index.json代码如下,
{
  "component": true,
  "usingComponents": {
    "van-tabbar": "/miniprogram_npm/@vant/weapp/tabbar/index",
    "van-tabbar-item": "/miniprogram_npm/@vant/weapp/tabbar-item/index"
  }
}

index.wxml代码如下,

<van-tabbar active="{{ active }}" bind:change="onChange">
    <van-tabbar-item icon="cart-o">购物车</van-tabbar-item>
    <van-tabbar-item icon="search">商品详情</van-tabbar-item>
    <van-tabbar-item icon="friends-o">会员中心</van-tabbar-item>
</van-tabbar>

index.js代码如下,

Component({
  data: {
    active: 0, // 当前选中第几个tab
  },
  // 组件的方法列表
  methods: {
    onChange: function (event) {
      // event.detail是vant-app的tabbar组件选择的序号
      // 相当于获取点击van-tabbar-item的序号
      if (event.detail === 0) {
        this.switchTab("/pages/cart/index");
        // 设置选中
        this.setData({
          active: event.detail
        });
      } else if(event.detail === 1){
        this.switchTab("/pages/goods/index");
        // 设置选中
        this.setData({
          active: event.detail
        });
      } else {
        this.switchTab("/pages/user/index");
        // 设置选中
        this.setData({
          active: event.detail
        });
      }
    },
    // 自定义tab切换方法增加回调
    switchTab: function (url, callback) {
      if (callback) {
        callback();
      }
      // 调用微信的switchTab切换tabbar
      wx.switchTab({ url });
    }
  }
});

  1. 小程序引入这个项目,执行"工具->构建npm",然后编译,渲染结果如下,

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值