组件/Select 选择器
自 1.0.0BETA

Select 选择器

下拉选择器组件,基于 Floating UI 实现浮层定位(点击展开、自动翻转、面板内滚动)。

该页面由 AI 迁移生成,请谨慎使用

内容已迁移完成,但仍建议结合源码和人工评审结果使用。

Select 选择器

下拉选择器组件,基于 Floating UI 实现浮层定位(点击展开、自动翻转、面板内滚动)。

基础用法

Select

示例即将加载...
<template>
  <TuffSelect v-model="value" placeholder="请选择">
    <TuffSelectItem value="option1" label="选项 1" />
    <TuffSelectItem value="option2" label="选项 2" />
    <TuffSelectItem value="option3" label="选项 3" />
  </TuffSelect>
</template>

远程搜索(可编辑)

Select (remote searchable)

示例即将加载...
<script setup lang="ts">
import { ref } from 'vue'

const value = ref('')
const remoteOptions = ref<Array<{ value: string; label: string }>>([])

async function onSearch(q: string) {
  // remote request
  // remoteOptions.value = await fetch(...)
}
</script>

<template>
  <TuffSelect v-model="value" remote editable @search="onSearch">
    <TuffSelectItem v-for="o in remoteOptions" :key="o.value" :value="o.value" :label="o.label" />
  </TuffSelect>
</template>

可搜索

Select (searchable)

示例即将加载...
<template>
  <TuffSelect v-model="value" placeholder="Searchable" searchable>
    <TuffSelectItem v-for="i in 30" :key="i" :value="`option${i}`" :label="`Option ${i}`" />
  </TuffSelect>
</template>

禁用状态

Select (disabled)

示例即将加载...
<template>
  <TuffSelect v-model="value" placeholder="禁用状态" disabled>
    <TuffSelectItem value="option1" label="选项 1" />
  </TuffSelect>
</template>

禁用选项

Select (disabled option)

示例即将加载...
<template>
  <TuffSelect v-model="value" placeholder="请选择">
    <TuffSelectItem value="option1" label="可选项 1" />
    <TuffSelectItem value="option2" label="禁用选项" disabled />
    <TuffSelectItem value="option3" label="可选项 2" />
  </TuffSelect>
</template>

滚动面板

Select (scrollable dropdown)

示例即将加载...
<template>
  <TuffSelect v-model="value" :dropdown-max-height="220">
    <TuffSelectItem v-for="i in 30" :key="i" :value="`option${i}`" :label="`Option ${i}`" />
  </TuffSelect>
</template>

API

TuffSelect Props

属性名说明类型默认值
modelValue / v-model绑定值string | number''
placeholder占位文本string'请选择'
disabled是否禁用booleanfalse
searchable是否可搜索booleanfalse
searchPlaceholder搜索框占位string'Search'
editable是否可编辑(在触发器输入)booleanfalse
remote是否远程搜索(输入时触发 searchbooleanfalse
dropdownMaxHeight下拉面板最大高度number280
dropdownOffset触发器与面板间距number6

TuffSelect Events

事件名说明回调参数
change选中值改变时触发(value: string | number) => void
update:modelValue值更新时触发(value: string | number) => void
search输入触发搜索(remote 模式)(query: string) => void

TuffSelectItem Props

属性名说明类型默认值
value选项值string | number-
label选项标签string-
disabled是否禁用booleanfalse