Skip to content

Select 选择器

弹窗下拉单选组件,触发后自动弹出底部遮罩选项面板,供用户在多个备选项中进行选择。


代码示例

1. 基础用法 (Basic)

使用 v-model 绑定当前选中的 value 标识,通过 options 传入选项数组。

vue
<template>
  <mu-select
    v-model="city"
    label="所在城市"
    :options="cityOptions"
    placeholder="请选择城市"
    clearable
  />
</template>

<script setup>
import { ref } from 'vue'
const city = ref('beijing')
const cityOptions = [
  { label: '北京市', value: 'beijing' },
  { label: '上海市', value: 'shanghai' },
  { label: '广州市', value: 'guangzhou' }
]
</script>

2. 前缀图标与左侧同行 (Prefix Icon & Left Label)

设置 prefix-icon 添加左侧矢量图标,设置 label-position="left" 实现同行横向排列。

vue
<template>
  <mu-select
    v-model="dept"
    label="团队部门"
    label-position="left"
    prefix-icon="users"
    :options="deptOptions"
    placeholder="请选择所属部门"
    clearable
  />
</template>

3. 填充底色模式 (Filled)

设置 filled 开启沉浸式无边框浅色底色填充。

vue
<template>
  <mu-select
    v-model="payType"
    label="支付类型"
    filled
    :options="payOptions"
  />
</template>

4. 禁用状态 (Disabled)

设置 disabled 禁止弹出选择面板。

vue
<template>
  <mu-select model-value="shanghai" label="不可修改" disabled :options="cityOptions" />
</template>

API 属性说明 (Props)

参数名说明类型可选值默认值
v-model选中的选项值String | Number | Boolean-''
options选项数据源列表Array-[]
labelKey自定义 label 键名String-'label'
valueKey自定义 value 键名String-'value'
label选择框外侧标题String-''
title底部弹窗面板大标题String-''
labelPosition标题布局位置Stringtop | left'top'
labelWidth左侧标题宽度String-''
placeholder占位提示文案String-'请选择'
shape选择框边框形状Stringradius | square | round'radius'
prefixIcon前置文本框内矢量图标名称String-''
clearable是否显示一键清除Booleantrue | falsefalse
filled是否开启背景填充模式Booleantrue | falsefalse
disabled是否禁用选择Booleantrue | falsefalse
error是否展示标红错误状态Booleantrue | falsefalse
errorMessage底部错误提示字符串String-''

事件说明 (Events)

事件名说明回调参数
change选中项改变时触发(value, optionItem)
update:modelValue双向绑定更改变(value)
clear点击清除图标时触发-

基于 MIT 协议开源发行

H5 模拟器 (select)☀️🔄