Select 选择器
当选项过多时,使用下拉菜单展示并选择内容。
基础用法
适用广泛的基础单选 v-model
的值为当前被选中的 ti-option
的 value
属性值。
基础多选
为 ti-select
设置 multiple
属性即可启用多选, 此时 v-model
的值为当前选中值所组成的数组。
禁用/只读
选择器禁用状态和只读状态。
设置 disabled
属性和 readonly
属性即可。
可清空单选
包含清空按钮,可将选择器清空为初始状态。
为 ti-select
设置 clearable
属性,则可将选择器清空。 需要注意的是,clearable
属性仅适用于单选。
自定义模板
你可以自定义单个选项怎么被渲染。
将自定义的 HTML 模板插入 ti-option
的 slot 中即可。
筛选选项
可以利用筛选功能快速查找选项。
为 ti-select
添加 filterable
属性即可启用筛选功能。 默认情况下,Select 会找出所有 label
属性包含输入值的选项。 如果希望使用其他的搜索逻辑,可以通过传入一个 filter-method
来实现。 filter-method
为一个 Function,它会在输入值发生变化时调用,参数为当前输入值。
Bug
Oh!!! 过滤功能似乎裂开了,会尽快抢修的... ^_^
远程搜索
通过输入关键字在服务器上来搜索数据
为了启用远程搜索,需要将 filterable
和 remote
设置为 true,同时监听事件 input-change
事件。 input-change
事件会在输入值发生变化时触发,参数为当前输入值。
将选项进行分组
你可以为选项进行分组来区分不同的选项。
使用 ti-option-group
对备选项进行分组,它的 label
属性为分组名。
Select 属性
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
model-value / v-model | 绑定值 | string / number / boolean | — | — |
disabled | 是否禁用状态 | boolean | — | false |
readonly | 是否只读状态 | boolean | — | false |
size | 选择器尺寸 | string | large / normal / small / mini | normal |
clearable | 是否显示清除按钮 | boolean | — | false |
multiple | 是否多选 | boolean | — | false |
multiple-limit | 多选时用户最多可以选择的项目数 | number | — | 1000000 |
placeholder | 选择器占位文本 | string | — | — |
filterable | 是否可以筛选 | boolean | — | false |
filter-method | 自定义筛选方法 | function | — | — |
remote | 是否开启从服务器中远程加载选项列表 | boolean | — | false |
loading | 是否正在从远程获取数据 | boolean | — | false |
loading-text | 搜索内容加载中的文字 | string | — | Loading |
no-match-text | 搜索条件无匹配时显示的文字 | string | — | No matching data |
no-data-text | 选项为空时显示的文字 | string | — | No data |
teleport-to-body | 是否将 Select 的下拉菜单teleport至 body | boolean | — | true |
popper-class | Select 下拉框的类名 | string | — | — |
name | 多选框的输入框的原生 name 属性 | string | — | — |
autocomplete | 多选框的输入框的原生 autocomplete 属性 | string | — | off |
Select 插槽
插槽名 | 说明 |
---|---|
— | Option 组件列表 |
Select 事件
事件名 | 说明 | 回调参数 |
---|---|---|
input-change | 启用筛选时输入框的值变化时触发 | (value: string ) |
TODO
待新增 change、 clear、 blur、 focus 事件。