选择器 Select

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

基础用法

搜索功能

多选下拉

带分组的选择器

带确认的选择器

虚拟列表的选择器

虚拟列表+节点自定义渲染的选择器

可自定义下拉列表宽度

可自定义下拉列表内容

自定义触发器

创建新的选项

创建并选中未包含在初始选项中的条目

点击回车确认。多选的绑定值格式为[{id,name}]形式

API

Attributes

名称类型可选值默认值说明
modelValue/v-modelstring/string[]--''/[]绑定值, 单选是字符串, 多选是字符串数组
optionsItem[]--[]下拉列表选项数组,如果要设置选项默认值, 则必须设置此选项, item 类型{id:string,name:string,disabled:boolean}
valueKeystring--'id'选项唯一标识, 用于匹配选项值, 如设置了 valueKey="value", 则匹配值为 options[i].value 而不是 options[i].id
labelKeystring--'name'选项显示的文本, 如设置了 labelKey="name", 则显示为 options[i].name
disabledboolean--false禁用整个组件
prefixstring--''前置标签
clearableboolean--false是否可以清空
searchableboolean--false是否可以搜索
panelSearchableboolean--false是否开启下拉面板里的搜索,此属性与 searchable 只能设置一个, 如果同时为 true,则此选项优先生效
panelSearchPlaceholderstring----下拉框中搜索框的 placeholder 属性, panelSearchable 为 true 时才可设置此属性
autoClearSearchboolean--true失去焦点后自动清空筛选
multipleboolean--false是否多选
multipleLimitnumber--0多选限制数量,0 为不限制,
hasConfirmboolean--false当多选时, 是否需要确认取消按钮
modestring'multiple'|'tags''multiple'仅开启多选有效,显示模式为标签或者'已选择 XX
placeholderstring--'请选择'| '搜索或选择'
placeholderColorstring----gray-400css 中支持颜色值的字符串,例如'red','#333'
sizenumber | string'small' | 'medium' | 'large' | 'auto'"medium"设置触发器和下拉框的宽度
maxWidthnumber--360设置触发器中选中值部分的最大宽度, 此属性需配合 size='auto'来使用
menuSizenumber | string'min'| 'small' | 'medium' | 'large' |'max'| 'auto'"medium"单独设置下拉框的宽度
maxScrollHeightnumber |----设置下拉菜单可滚动区域的最大高度
maxTagCountnumber--0最多显示多少个 ,0 表示不限制, tag 剩余的显示+n
maxTagTextLengthnumber
0最大显示的 tag 文本长度
maxTagWidthnumber
0最大 tag 宽度,例子:设置 100,则 tag 最大宽是 100px
levelstring"Left",'Right'--设定下拉框的弹出方向(仅控制水平方向, 左对齐或者右对齐触发器)
virtualboolean--false是否开启虚拟列表
isShowEmptyboolean--undefined自定义显示空插槽
zIndexnumber--undefined设置下拉弹窗的 z-index 属性
popoverClassstring----弹出框自定义 class
noborderboolean--false设定无边框模式
teleportstring/Ref--body将下拉菜单渲染到指定元素, 传值同 teleport 元素的 to 属性
beforeClickItem(Item,done)=>void--undefined选项点击的前置事件,可以阻拦点击事件
tipsTagHandleName(name,index,items) => any--undefined自定义 select 多选 tips 中的 tag 文案
popoverAttrsPopoverProps{}--popover组件的属性 属性参考 Popover props
clickOutSideIgnorestring/HTMLElement--''设置点击外部区域时要忽略的元素来防止下拉面板收起,可传入选择器字符串或dom
hasCheckAllboolean--true是否开启全选复选框
maxMenuWidthnumber--680下拉面板最大宽度
beforeConfirm(Ids,done)=>void--undefined下拉确定按钮的前置事件,Ids为当前已选择节点id数组

Events

名称回调参数说明
change(value: string| string[])绑定值变化时触发
search(value: string)搜索输入框输入时触发
remove(value: Item)tag 的移除事件, 返回被移除的 Item 对象
clear--clear 事件
blur--blur 事件
focus--focus 事件
confirmvalue: string[]当有确认按钮时, 点击确认按钮事件
cancelvalue: string[]当有确认取消时, 点击取消按钮事件
hasConfirmChekedChangevalue: string[]当有确认取消时,选中/取消选中时触发

Slots

插槽名说明
default默认插槽可以自定义下拉面板
prefix跟属性 prefix 同名插槽, 自定义前置标题
suffixIcon自定义选择框后缀图标
clearIcon自定义的多选框清除图标
trigger自定义触发器
empty当下拉列表为空时显示的内容
panelHeader下拉框的 header
panelFooter下拉框的 footer
nodeSlot节点插槽

Function

方法名说明参数
focus使选择器的输入框获取焦点, 并打开下拉框-
blur使选择器的输入框失去焦点, 并隐藏下拉框-

OptionGroup 子组件

Attributes

名称类型可选值默认值说明
labelstring--''分组的标题
dividerboolean--true分组是否加分割线
optionsarray--[]需要将该分组内数据数组传入,若数组长度为空,则该分组不显示

Slots

插槽名说明
label自定义标题

Option 子组件

Attributes

名称类型可选值默认值说明
valuestring--''选项的值,一般绑定 id 值
labelstring--''选项展示的值, 一般绑定 name
htmlstring--''选项可以渲染 html 字符串, 优先级比 label 高
disabledboolean--false是否禁用该选项

SelectCreate Props

Attributes

名称类型可选值默认值说明
v-modelstring | { id: string | number;name: string | number }[]--''选项的值,一般绑定 id 值
searchValue | v-model:searchValuestring--''搜索框的值
clearableboolean--true是否可以清空
disabledboolean--false禁用整个组件
placeholderstring--请选择
searchPlaceholderstring--搜索或添加选项
panelHeaderboolean--false是否再下拉框中搜索
maxHeightnumber--280下拉框高度
popoverAttrsPopoverProps--{}popover 组件的属性 属性参考 Popover props
multipleboolean--true是否多选
repeatboolean--false是否可以重复选择
disabledDraggableboolean--false是否禁用排序
optionTypeTabboolean--false是否使用 Tab 形式的下拉选项
tabDataAndOptionsobject--{}tab 的 data 属性
tabAttrsobject--{}tab 组件的属性
autoCreateOptionboolean--true自动添加选项
confirmBtnDisabledboolean--false带确认/取消功能,确认按钮禁用

SelectCreate 事件

名称说明回调参数
clear点击清空按钮触发事件--
input搜索框输入触发事件输入框值
change选中值改变触发事件val,目前的选中值
moveEnd移动排序触发事件val,移动元素的对象
showPopover 显示后触发事件--
hidePopover 隐藏后触发事件--
createSelect创建标签后触发的事件val,创建的值
deleteSelect删除 tag 的事件val,当前删除的值

最近更新于: