Skip to content

Subsection 分段器

查看 sn-subsection 的 2.0 版本差异

基础用法

  • 分段器一般用于用户从几个选项中选择某一个的场景,常作为视图切换控件。
  • v-model 绑定当前选中分段的索引,data 为分段文本数组,滑块随选中项平移并带动画。
  • 滑块尺寸根据容器实际尺寸动态计算,容器尺寸变化时自动重新测量。
vue
<template>
	<sn-subsection v-model="current" :data="list"></sn-subsection>
</template>

<script lang="uts" setup>
const current = ref<number>(0)
const list = ['已付款', '已发货', '已收货', '已评价']
</script>

更多演示请下载 demo 查看

自定义样式

分段项、滑块、文本均支持外部样式类与自定义样式,可深度改造外观,例如把滑块改为下划线样式:

vue
<template>
	<sn-subsection v-model="current" :data="list" block-bg-color="transparent"
		block-style="border-radius:0; border-bottom:2px solid var(--sn-primary);"></sn-subsection>
</template>

<script lang="uts" setup>
const current = ref<number>(0)
const list = ['已付款', '已发货', '已收货', '已评价']
</script>

属性

参数说明类型默认值可选值
v-model绑定值,当前选中的分段索引Number0-
data分段数据,数组中的每个元素代表一个分段的文本Array<String>[]-
disabled是否禁用分段选择器Booleanfalsetrue | false
padding分段器内边距String | Number'3px'-
blockPadding每个分段项的内边距String | Number'10px'-
borderRadius分段器圆角String | Number''(默认 12px × radiusFactor)-
textSize分段文本大小String | Number''(默认 14px × fontsizeFactor)-
bgColor分段器背景颜色String''(默认主题 info 色)-
disabledBgColor禁用时分段器背景颜色String''(亮色主题 disabled 色、暗黑主题 disabledDark 色)-
blockBgColor滑块背景颜色String''(默认主题 front 色)-
disabledBlockBgColor禁用时滑块背景颜色String''(亮色主题 disabledDark 色、暗黑主题 disabled 色)-
textColor未选中分段文本颜色String''(默认主题 text 色)-
activeTextColor选中分段文本颜色String''(默认主题 primaryDark 色)-
disabledTextColor禁用时文本颜色String''(默认主题 disabledText 色)-
customStyle自定义分段器根节点样式UTSJSONObject | String''-
customClass分段器根节点的外部样式类String''-
itemClass分段项的外部样式类String''-
itemStyle自定义分段项样式UTSJSONObject | String''-
blockClass滑块的外部样式类String''-
blockStyle自定义滑块样式UTSJSONObject | String''-
textClass分段文本的外部样式类String''-
textStyle自定义分段文本样式UTSJSONObject | String''-

事件

名称类型说明
change(value: number) => Void选中分段变化时触发,携带新的分段索引

使用 MIT 协议