0.0.12 • Published 3 years ago

@retailwe/ui-tabbar v0.0.12

Weekly downloads
12
License
-
Repository
-
Last release
3 years ago

Tabbar 标签栏

引入

app.jsonindex.json中引入组件,详细介绍见快速上手

"usingComponents": {
  "wr-tabbar": "@retailwe/ui-tabbar/index",
  "wr-tabbar-item": "@retailwe/ui-tabbar/tabbar-item/index"
}

代码演示

基础用法

<wr-tabbar active="{{ active }}" bind:change="onChange">
  <wr-tabbar-item icon="home-o">标签</wr-tabbar-item>
  <wr-tabbar-item icon="search">标签</wr-tabbar-item>
  <wr-tabbar-item icon="friends-o">标签</wr-tabbar-item>
  <wr-tabbar-item icon="setting-o">标签</wr-tabbar-item>
</wr-tabbar>
Page({
  data: {
    active: 0,
  },
  onChange(event) {
    // event.detail 的值为当前选中项的索引
    this.setData({ active: event.detail });
  },
});

通过名称匹配

在标签未指定name属性的情况下,active的值为当前标签的索引 在标签指定name属性的情况下,active的值为当前标签的name

<wr-tabbar active="{{ active }}" bind:change="onChange">
  <wr-tabbar-item name="home" icon="home-o">标签</wr-tabbar-item>
  <wr-tabbar-item name="search" icon="search">标签</wr-tabbar-item>
  <wr-tabbar-item name="friends" icon="friends-o">标签</wr-tabbar-item>
  <wr-tabbar-item name="setting" icon="setting-o">标签</wr-tabbar-item>
</wr-tabbar>
Page({
  data: {
    active: 'home',
  },
  onChange(event) {
    this.setData({ active: event.detail });
  },
});

显示徽标

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

url图标

icon属性也支持传入图片url

<wr-tabbar
    active="{{ active4 }}"
    data-key="active4"
    wr-class="tabbar-position"
    safe-area-inset-bottom="{{ false }}"
    bind:change="onChange"
  >
    <wr-tabbar-item icon="{{active4 === 0 ? icon.active : icon.normal}}" info="3">
      url图标
    </wr-tabbar-item>
    <wr-tabbar-item icon="tabbar-fenlei">标签</wr-tabbar-item>
    <wr-tabbar-item icon="tabbar-gerenzhongxin">标签</wr-tabbar-item>
  </wr-tabbar>

自定义图标

可以通过 slot 自定义图标,其中 icon slot 代表未选中状态下的图标,icon-active slot 代表选中状态下的图标

<wr-tabbar
    active="{{ active5 }}"
    bind:change="onChange"
  >
    <wr-tabbar-item info="3">
      <image
        slot="icon"
        src="{{ icon.normal }}"
        mode="aspectFit"
        style="width: 30px; height: 18px;"
      />
      <image
        slot="icon-active"
        src="{{ icon.active }}"
        mode="aspectFit"
        style="width: 30px; height: 18px;"
      />
      <view style="color: {{active5 === 0 ? '#1989fa' : ''}}">自定义</view>
    </wr-tabbar-item>
    <wr-tabbar-item icon="tabbar-fenlei">标签</wr-tabbar-item>
    <wr-tabbar-item icon="tabbar-gerenzhongxin">标签</wr-tabbar-item>
  </wr-tabbar>
Page({
  data: {
    active: 0,
    icon: {
      normal: 'https://img.yzcdn.cn/wrt/user-inactive.png',
      active: 'https://img.yzcdn.cn/wrt/user-active.png',
    },
  },
  onChange(event) {
    this.setData({ active: event.detail });
  },
});

自定义颜色

<wr-tabbar
  active="{{ active }}"
  active-color="#07c160"
  inactive-color="#000"
  bind:change="onChange"
>
  <wr-tabbar-item icon="home-o">标签</wr-tabbar-item>
  <wr-tabbar-item icon="search">标签</wr-tabbar-item>
  <wr-tabbar-item icon="friends-o">标签</wr-tabbar-item>
  <wr-tabbar-item icon="setting-o">标签</wr-tabbar-item>
</wr-tabbar>
Page({
  data: {
    active: 0,
  },
  onChange(event) {
    this.setData({ active: event.detail });
  },
});

切换标签事件

<wr-tabbar active="{{ active }}" bind:change="onChange">
  <wr-tabbar-item icon="home-o">标签1</wr-tabbar-item>
  <wr-tabbar-item icon="search">标签2</wr-tabbar-item>
  <wr-tabbar-item icon="friends-o">标签3</wr-tabbar-item>
  <wr-tabbar-item icon="setting-o">标签4</wr-tabbar-item>
</wr-tabbar>
Page({
  data: {
    active: 0,
  },
  onChange(event) {
    wx.showToast({
      title: `点击标签 ${event.detail + 1}`,
      icon: 'none',
    });
  },
});

API

Tabbar Props

参数说明类型默认值版本
active当前选中标签的索引number--
fixed是否固定在底部booleantrue-
border是否展示外边框booleantrue-
z-index元素 z-indexnumber1-
active-color选中标签的颜色string#1989fa-
inactive-color未选中标签的颜色string#7d7e80-
safe-area-inset-bottom是否为 iPhoneX 留出底部安全距离booleantrue-

Tabbar Event

事件名说明参数
bind:change切换标签时触发event.detail: 当前选中标签的名称或索引值

TabbarItem Props

参数说明类型默认值版本
name标签名称,作为匹配的标识符string | number当前标签的索引值-
icon图标名称或图片链接string--
dot是否显示小红点boolean--
info图标右上角提示信息string | number--

TabbarItem Slot

名称说明
icon未选中时的图标
icon-active选中时的图标
0.0.12

3 years ago

0.0.11

4 years ago

0.0.10

4 years ago

0.0.9

4 years ago

0.0.8

4 years ago

0.0.7

4 years ago

0.0.6

4 years ago

0.0.5

4 years ago

0.0.4

4 years ago

0.0.3

4 years ago

0.0.2

4 years ago

0.0.1-alpha.0

4 years ago