组件库文档 tmui.design
分段器选项卡 Segtab
分段选择/切换器,常用于直观的单项菜单、选项选值切换。
🌶️ 分段器选项卡 Segtab 示例
查看模拟效果+
示例模板
vue
<template>
<tm-app>
<tm-sheet>
<tm-text :fontSize="24" _class="text-weight-b" label="基础属性,更多玩法请前往文档。"></tm-text>
<tm-divider></tm-divider>
<tm-segtab :width="636" :list="list" defaultValue="2"></tm-segtab>
</tm-sheet>
<tm-sheet>
<tm-text :fontSize="24" _class="text-weight-b" label="改变按钮主题"></tm-text>
<tm-divider></tm-divider>
<tm-segtab :round="24" :width="636" color="primary" activeColor="white" :list="list" defaultValue="2"></tm-segtab>
</tm-sheet>
<tm-sheet>
<tm-text :fontSize="24" _class="text-weight-b" label="背景"></tm-text>
<tm-divider></tm-divider>
<tm-segtab
:round="24"
:width="636"
bgColor="primary"
:followDark="false"
color="white"
activeColor="primary"
:list="list"
defaultValue="2"
></tm-segtab>
</tm-sheet>
<tm-sheet>
<tm-text :fontSize="24" _class="text-weight-b" label="渐变"></tm-text>
<tm-divider></tm-divider>
<tm-segtab
v-model="activeId"
:round="24"
:width="636"
bgColor="green"
:followDark="false"
linear="right"
color="white"
activeColor="green"
:list="list"
defaultValue="2"
></tm-segtab>
<tm-button label="更改到4" @click="activeId='4'"></tm-button>
</tm-sheet>
</tm-app>
</template>
<script lang="ts" setup>
import { ref, getCurrentInstance } from 'vue'
import { onShow, onLoad } from '@dcloudio/uni-app'
import tmApp from '@/tmui/components/tm-app/tm-app.vue'
import tmSheet from '@/tmui/components/tm-sheet/tm-sheet.vue'
import tmText from '@/tmui/components/tm-text/tm-text.vue'
import tmSegtab from '@/tmui/components/tm-segtab/tm-segtab.vue'
import tmDivider from '@/tmui/components/tm-divider/tm-divider.vue'
import tmButton from '@/tmui/components/tm-button/tm-button.vue'
const list = ref([
{ text: '苹果', id: '1' },
{ text: '菠萝菠萝密', id: '2' },
{ text: '香蕉', id: '3' },
{ text: '火龙果', id: '4' },
{ text: 'tmui', id: '5' }
])
const activeId = ref("2")
</script>
🌶️ 兼容性
APP-VUE | APP-NVUE | 小程序 | WEB/H5 | VUE3/TS |
---|---|---|---|---|
✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
🌱 参数
本组件含有公共属性 公共属性
参数名 | 类型 | 默认值 | 描述 |
---|---|---|---|
width | Number | 600 | 宽度,单位rpx |
height | Number | 64 | 高度,单位rpx |
gutter | Number | 2 | |
list | Array | [] | 分段器选项的数据 |
modelValue | [Number,String] | 0 | v-model可以是index索引也可是对象id |
defaultValue | [Number,String] | 0 | 默认是顺序index值,如果想以字段id来达到index选中效果。需要list为对象,并且提供唯一标识id字段。 |
beforeChange | [Function,Boolean] | false | 在点击切换之前执行,返回false阻止切换,可以是Promise |
color | String | 'white' | 字体颜色 |
bgColor | String | 'grey-3' | 背景颜色 |
fontSize | Number | 24 | 字体大小 |
activeColor | String | 'primary' | 被选中后的文字色 |
list[]数据格式:
ts
[
{
text:number|string,
id:number|string,
[prop:string]:any
}
]
🌹 事件
事件名 | 参数 | 返回数据 | 描述 |
---|---|---|---|
update:modelValue | value | ||
change | value | 当点击项目时触发,返回listitem数据 | |
click | index | 点击事件 |
🌽 slot插槽
无
🥗 ref方法
无
方法名 | 参数 | 返回值 | 描述 |
---|