Skip to content
On this page

Select 选择器

当选项过多时,使用下拉菜单展示并选择内容。

基础用法

可通过options属性设置下拉菜单选项,options属性为Json数组,一般情况下至少保证有valuelabel两个字段。

html
<script setup>
  import { ref } from 'vue'
  const selval = ref('')
  const options = ref([
    {
      value: 'GZ',
      label: '广州',
      disabled: false // 为true时禁用选项
    }
  ])
</script>

<os-select
v-model="selval"
:options="options"
placeholder="请选择"></os-select>

可清空单选

clearable属性设置为可一键清除操作,此功能目前只支持单选情况下。

html
<os-select
v-model="selval"
:options="options"
placeholder="请选择"
clearable>
</os-select>

筛选选项

filterable属性设置为可搜索过滤功能。

html
<os-select
v-model="selval"
:options="options"
placeholder="请选择"
filterable>
</os-select>

多选框

multiple属性设置为能选择多个参数,并能通过属性collapse参数设置为只显示一个选项。

html
<os-select
v-model="selval"
:options="options"
placeholder="请选择"
size="large">
</os-select>

WARNING

注:多选情况下,双向绑定的参数格式需为数组。

自定义模板

自定义模板可通过slot插槽方式完成。

html
<script setup>
  import { ref } from 'vue'
  const selarr = ref([])
  const options = ref([{
    value: 'Beijing',
    label: '北京'
  }, {
    value: 'Shanghai',
    label: '上海'
  }, {
    value: 'Nanjing',
    label: '南京'
  }, {
    value: 'Chengdu',
    label: '成都'
  }, {
    value: 'Shenzhen',
    label: '深圳',
    disabled: true,
    customerData: '这是自定义数据'
  }, {
    value: 'Guangzhou',
    label: '广州'
  }])
</script>

<os-select v-model="selarr" :options="options" placeholder="请输入关键字" clearable filterable>
  <template #options="{ option }">
    <div class="os-padding-xs">
      {{ option.label }} ({{ option.value }})<br/>
      <span class="os-text-neutral-4 os-height9">{{ option.customerData }}</span>
    </div>
  </template>
</os-select>

尺寸

使用 size 属性改变下拉框大小。 除了默认大小外,还有另外两个选项: large, mini

html
<os-select
v-model="selval"
:options="options"
placeholder="请选择"
size="large">
</os-select>

Released under the MIT License.