Skip to content

Segmented 分段器

何时使用

  • 用于展示多个选项并允许用户选择其中单个选项;
  • 当切换选中选项时,关联区域的内容会发生变化。

大型分段器

通过设置 size 属性为 "large",创建一个大型分段器。

html
<wd-segmented :options="list" v-model:value="current" size="large"></wd-segmented>

默认分段器

这是默认尺寸的分段器。

vue
<wd-segmented :options="list" v-model:value="current1"></wd-segmented>

小型分段器

通过设置 size 属性为 "small",创建一个小型分段器。

html
<wd-segmented :options="list" v-model:value="current2" size="small"></wd-segmented>

带振动效果的分段器

通过设置 vibrate-short 属性为 true,使手机在切换选项时产生短暂振动。

html
<wd-segmented :options="list" v-model:value="current3" :vibrate-short="true"></wd-segmented>

禁用分段器

通过设置 disabled 属性为 true,禁用分段器。

html
<wd-segmented :options="list" v-model:value="current5" disabled></wd-segmented>

自定义渲染分段器标签

使用插槽 label 可以自定义渲染分段器的标签内容。

html
<wd-segmented :options="list1" v-model:value="current4" :vibrate-short="true">
  <template #label="{ option }">
    <view class="section-slot">
      <image style="border-radius: 50%; width: 32px; height: 32px" :src="option.payload.avatar" />
      <view class="name">
        {{ option.value }}
      </view>
    </view>
  </template>
</wd-segmented>
ts
const list1 = ref([
  {
    value: '李雷',
    disabled: false,
    payload: {
      avatar: 'https://unpkg.com/wot-design-uni-assets/redpanda.jpg'
    }
  },
  {
    value: '韩梅梅',
    disabled: false,
    payload: {
      avatar: 'https://unpkg.com/wot-design-uni-assets/capybara.jpg'
    }
  }
])
scss
.section {
  width: 100%;
  padding: 0 24rpx;
  box-sizing: border-box;
  &-slot {
    padding: 4px;
  }
}

请注意,上述示例代码中的 listlist1 变量是您在 <script> 部分设置的示例数据。您可以根据您的实际需求自定义这些数据。

Attributes

参数说明类型可选值默认值最低版本
value/v-model:value当前选中的值string | number--0.1.23
disabled是否禁用分段器booleantrue | falsefalse0.1.23
size控件尺寸stringlarge | middle | smallmiddle0.1.23
options数据集合string[] | number[] | SegmentedOption[]-[]0.1.23
vibrateShort切换选项时是否振动booleantrue | falsefalse0.1.23

SegmentedOption

参数说明类型可选值默认值最低版本
value选中值string | number--0.1.23
disabled是否禁用booleantrue | false-0.1.23
payload更多数据any--0.1.23

Events

事件名称说明参数最低版本
change选项切换时触发SegmentedOption0.1.23
click选项点击时触发SegmentedOption1.2.20

Slots

name说明参数最低版本
label选项标签内容{ option: SegmentedOption }0.1.23

外部样式类

类名说明最低版本
customStyle自定义样式0.1.23
customClass自定义样式类0.1.23

Released under the MIT License.

Released under the MIT License.