Tabs 导航切换栏
使用指南
在 page.json 中引入组件
"usingComponents": {
  "w-tabs": "wuss-weapp/w-tabs/index",
}
视频演示
代码演示
<w-pane title="Tabs" desc="导航切换栏" />
<w-pane desc="Default" />
<w-tabs bind:onChange="handleChange" options="{{ tabs1 }}" />
<w-pane desc="Initial Index = 2" />
<w-button type="info" bind:onClick="handleSelected">selected tab2</w-button>
<w-tabs
 bind:onChange="handleChange"
 options="{{ tabs4 }}"
 currentIndex="{{ index }}"
/>
<w-pane desc="Line Size = 1" />
<w-tabs lineSize="1" options="{{ tabs1 }}" />
<w-pane desc="Active Color" />
<w-tabs
 lineSize="1"
 activeColor="#ff8800"
 options="{{ tabs3 }}"
/>
<w-pane desc="Icon" />
<w-tabs
 textStyles="font-size: 14px;"
 options="{{ tabs2 }}"
 activeColor="#ef473a"
/>
<w-pane desc="Disabled Transition and DisabledItem" />
<w-tabs
 transition="{{ false }}"
 options="{{ tabs4 }}"
 bind:disabled="onDisabled"
/>
<w-pane desc="Scroll" />
<w-tabs bind:onClick="handleClick" options="{{ tabs5 }}" />
<w-pane desc="Disabled Line" />
<w-tabs
 transition="{{ false }}"
 line="{{ false }}"
 options="{{ tabs4 }}"
/>
<w-pane desc="Disabled Border" />
<w-tabs
 transition="{{ false }}"
 line="{{ false }}"
 border="{{ false }}"
 options="{{ tabs4 }}"
/>
data: {
  index: 2,
  tabs1: ['电器', '数码', '食品', '手机'],
  tabs2: [
    {
      text: '微博',
      icon: 'weibo',
      iconSize: '32rpx',
      iconColor: '#ef473a',
    },
    {
      text: '脸书',
      icon: 'facebook',
      iconSize: '32rpx',
      iconColor: '#ef473a',
    },
    {
      text: '苹果',
      icon: 'apple',
      iconSize: '32rpx',
      iconColor: '#ef473a',
    },
    {
      text: '安卓',
      icon: 'android',
      iconSize: '32rpx',
      iconColor: '#ef473a',
    },
  ],
  tabs3: [
    '英雄联盟',
    '绝地求生',
    'DNF',
    '炉石传说'
  ],
  tabs4: [
    'tab1',
    'tab2',
    'tab3',
    'tab4'
  ],
  tabs5: [
    'tab1',
    'tab2',
    'tab3',
    'tab4',
    'tab5',
    'tab6',
    'tab7',
    'tab8',
    'tab9',
    'tab10'
  ],
},
handleChange(e) {
  const index = e.detail.index;
  console.log(e);
},
handleSelected() {
  this.setData({
    index: 2,
  });
},
handleClick(e) {
  const { index, title } = e.detail;
  console.log('点击了tab:' + index, title);
},
onDisabled(e) {
  const { index, title } = e.detail;
  console.log('点击了禁用的:' + index, title);
},
.scroll-view_H {
  width: 100%;
  white-space: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  height: 200px;
  display: flex;
  flex: 1;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  flex-wrap: nowrap;
}
.scroll-view-item_H {
  width: 50%;
  height: 100%;
}
.bc_green {
  background-color: green;
}
.bc_red {
  background-color: red;
}
.bc_yellow {
  background-color: yellow;
}
.bc_blue {
  background-color: blue;
}
.content {
  padding: 20rpx 40rpx;
}
API
Attribute 属性
| 属性 | 说明 | 类型 | 默认值 | 
|---|---|---|---|
| options | tab 列表的数据源 参数有 text,icon,iconColor,iconSize | array | [] | 
| currentIndex | 初始化或者控制索引 | number | 0 | 
| transition | 是否开启过渡动画 | boolean | false | 
| line | 是否开启线条 | boolean | true | 
| duration | 设置动画时长 单位 s | number | 0.2 | 
| lineSize | 线条长度大小 0 - 1 | number | 0.5 | 
| border | 开启线条 | string | true | 
| borderSize | 线条粗细 单位 px | string | 2 | 
| borderColor | 线条颜色 | string | #eeeeee | 
| activeColor | 颜色 | string | rgb(69, 143, 246) | 
| textStyles | 文本样式 | string | - | 
| fixed | 是否开启定位 | boolean | false | 
Event 事件
| 事件名 | 说明 | 参数 | 
|---|---|---|
| onChange | tab 变化的时候触发 | e.detail | 
| disabled | 禁用的被点击时 | e.detail | 
Slot 插槽
| 名称 | 说明 | 
|---|
Class 自定义类名
| 类名 | 说明 | 
|---|---|
| wuss-class | 根节点样式类 | 
