选择器 Select
当用户需要从一组同类数据中选择一个或多个时,可以使用下拉选择器,点击后选择对应项。
基础用法
v-model 的值为当前被选中的el-option的 value 属性值
禁用状态
选择器不可用状态,设置属性 disabled 即可
可清空单选
设置 clearable 属性即可清空输入框
有禁用选项
在 bn-option 中,设定 disabled 值为 true,即可禁用该选项
多选
设置属性 multiple 即可。注意此时 v-model 要绑定是个 数组 的字段。
自定义模板
在bn-option中,设定默认插槽即可
模糊搜索
可以利用模糊搜索功能快速查找选项。通过添加 filterable 来启用过滤。filter-method自定义搜索方法,该方法必须是个函数,第一个参数是option实例对象代理,第二个参数是搜索关键词query,通过返回布尔值表示是否命中。
远程搜索
输入关键字以从远程服务器中查找数据。此功能必须将 filterable 和 remote 设置为true,同时传入一个 remote-method。 remote-method为一个Function,它会在输入值发生变化时调用,参数为当前输入值。此时你可以拿到当前输入框的query,然后你在请求接口拿到数据后在渲染option。
OptVmProxy
export type ValueKey = string | number
export interface OptVmProxy {
value: ValueKey
label: string | number
disabled: boolean
currentLabel: string
currentValue: ValueKey
isSelected: boolean
visible: boolean
isHover: boolean
hoverItem: () => void
selectOptionClick: () => void
}
API
Select Attributes
| 属性名 | 描述 | 类型 | 默认值 |
|---|---|---|---|
| v-model | 绑定值 | number | string | array | - |
| multiple alpha.30 | 是否多选 | boolean | false |
| disabled | 是否禁用 | boolean | false |
| clearable | 是否可以清空选项 | boolean | false |
| size | 尺寸大小 | small | default | large | default | |
| placeholder | 提示文案 | string | 请选择 |
| filterable alpha.32 | 是否开启模糊搜索 | boolean | false |
| filter-method alpha.32 | 自定义筛选方法,返回的布尔值表示是否保留该选项 | (opt:OptVmProxy, query) => boolean | - |
| remote alpha.32 | 是否从服务器远程加载 | boolean | false |
| remote-method alpha.32 | 自定义远程搜索方法 | (query) => void | - |
| loading | 是否正在从远程获取数据 | boolean | false |
| loading-text | 正在加载文字 | string | - |
| no-data-text | 选项为空时显示的文字 | string | 暂无数据 |
| popup-class | 自定义弹出层类名 | string | - |
| card | 输入框卡片模式 详情 | boolean | - |
Select Events
| 事件名 | 描述 | 函数类型 |
|---|---|---|
| change | 当绑定值变化时触发的事件 | (val) => void |
Select Slots
| name | 描述 | scoped |
|---|---|---|
| empty | 无选项时的列表 | - |
Option Attributes
| 属性名 | 描述 | 类型 | 默认值 |
|---|---|---|---|
| label | 选项的标签 | string | - |
| value | 选项的值 | string | - |
| disabled | 是否禁用 | boolean | false |
Option Slots
| name | 描述 | scoped |
|---|---|---|
| default | - | - |
最后更新时间: