2023-02-18_有赞小程序UI框架vant weapp之t

2023-02-17  本文已影响0人  微笑碧落

前言

1. 官方tabbar的配置使用

image.png image.png
"tabBar": {
  "color": "#ccc",
  "selectedColor": "#ff4c91",
  "backgroundColor": "#ffffff",
  "borderStyle": "white",
  "list": [
    {
      "pagePath": "index/index",
      "text": "index1"
    },
    {
      "pagePath": "index/index2",
      "text": "index2"
    }
  ]
},

2. vant weapp之tabbar的使用

2.1 引入

"van-tabbar": "../vant-weapp/dist/tabbar/index",
"van-tabbar-item": "../vant-weapp/dist/tabbar-item/index"

2.2 基础使用

image.png
<van-tabbar active="{{ active }}" bind:change="onChange">
  <van-tabbar-item icon="home-o">标签</van-tabbar-item>
  <van-tabbar-item icon="search">标签</van-tabbar-item>
  <van-tabbar-item icon="friends-o">标签</van-tabbar-item>
  <van-tabbar-item icon="setting-o">标签</van-tabbar-item>
</van-tabbar>

2.3 显示徽标

image.png
<van-tabbar active="{{ active }}" bind:change="onChange">
  <van-tabbar-item icon="home-o">标签</van-tabbar-item>
  <van-tabbar-item icon="search" dot>标签</van-tabbar-item>
  <van-tabbar-item icon="friends-o" info="5">标签</van-tabbar-item>
  <van-tabbar-item icon="setting-o" info="20">标签</van-tabbar-item>
</van-tabbar>

2.4 自定义颜色

image.png
<van-tabbar
  active="{{ active }}"
  active-color="#07c160"
  inactive-color="#000"
  bind:change="onChange"
>
  <van-tabbar-item icon="home-o">标签</van-tabbar-item>
  <van-tabbar-item icon="search">标签</van-tabbar-item>
  <van-tabbar-item icon="friends-o">标签</van-tabbar-item>
  <van-tabbar-item icon="setting-o">标签</van-tabbar-item>
</van-tabbar>

2.5 事件

  onChange(event) {
    this.setData({ active: event.detail });
  },

3. 替换微信小程序官方的toobar

3.1 修改app.json 中的 tabBar 项。

"tabBar": {
  "custom": true,
  "list": [{"pagePath": "pages/index/index"},{"pagePath": "pages/show/index"}]
}

3.2 添加tabBar组件

在项目的根目录下添加入口文件:

custom-tab-bar/index.js
custom-tab-bar/index.json
custom-tab-bar/index.wxml
custom-tab-bar/index.wxss

3.3 编写tabbar

4. 有赞小程序UI框架vant weapp之tabbar替换官方tabbar的代码

<van-tabbar active="{{ active }}" bind:change="onChange">
  <van-tabbar-item wx:for="{{ list }}" wx:key="index" icon="{{ item.icon }}">
    {{item.text}}
  </van-tabbar-item>
</van-tabbar>
Component({
    data: {
        active: 0,
        list: [
            {
                icon: 'home-o',
                text: '示例1',
                url: '/index/index'
            },
            {
                icon: 'search',
                text: '示例2',
                url: '/index/index2'
            },
        ]
    },

    methods: {
        onChange(event) {
      this.setData({ active: event.detail });
            wx.switchTab({
                url: this.data.list[event.detail].url
            });
        },

        init() {
      const page = getCurrentPages().pop();
            this.setData({
                active: this.data.list.findIndex(item => item.url === `/${page.route}`)
            });
        }
    }
});
{
  "component": true,
}

参考文章

  1. 自定义 tabBar
  2. tabbar
上一篇 下一篇

猜你喜欢

热点阅读