docs_vue2/one/docs/components/autocomplete.md
2021-11-24 12:05:27 +08:00

4.8 KiB
Raw Blame History

Autocomplete 自动完成

示例

建议触发时机

设置 suggest-trigger 来指定触发建议的时机。

严格模式

设置 strict 属性来指定严格模式,若输入值没有完全匹配建议值,那么在失焦时会清空输入值。

自定义搜索逻辑

设置 match 属性来自定义高亮逻辑;设置 filter 属性来自定义搜索命中逻辑。

:::tip match 用于高亮显示匹配文本的逻辑;而 filter 是控制是否命中。默认情况下 filter 会过滤掉未被 match 匹配的节点,且将包含非叶子节点。如希望搜索结果中都是叶子节点,可通过重写 filter 过滤掉非叶子节点。 :::

API

属性

名称 类型 默认值 描述
datasource `Array<string Object>=` []
value * - [^prop-value]
disabled boolean= false 是否为禁用状态。
readonly boolean= false 是否为只读状态。
match `(item, keyword, { ancestors }) => boolean [number, number] Array<[number, number]>`
filter (item, keyword, { ancestors, offsets }) => boolean - 支持自定义搜索命中逻辑。
suggest-trigger `string Array=` 'input'
expanded boolean= false [^expanded]
placeholder string= - 输入占位符。
clearable boolean= false 是否显示清除按钮。
composition boolean= false 是否感知输入法输入过程的值。
select-on-focus boolean= false 聚焦时是否自动选中输入框文本。
maxlength number= - 输入字符串的长度限制。
strict boolean= false 输入字符串到达长度限制以后是否禁止继续输入。
get-length function(string): number= 自定义的字符长度计算函数。
trim `boolean string=` false
autofocus boolean= false 是否自动获取焦点。

^^^datasource 数据源数组,项目为 Object 时字段为 {label, value, children, ...}

+++字段详情

名称 类型 描述
label string 节点的文字描述。
value string 节点对应的值,一般是页内 hash#button
children Array<Object>= 节点的子节点数组,数组项类型同 items 数组项。
+++
^^^

^^^prop-value :::badges v-model :::

当前选中的值。 ^^^

^^^expanded :::badges .sync :::

建议面板是否展开(如果 suggestions 中没有待选项,则即使为 true 时面板也会关闭)。 ^^^

^^^trim 是否移除前后空格。当为 true 时,会移除前后空格,当为 false 时,不移除前后空格。设置为字符串时,按指定方式进行移除。

+++枚举值

描述
both 移除两端空格。等同于 true 时的行为。
start 移除开始空格。
end 移除末尾空格。
+++
^^^

插槽

名称 描述
suggestions [^slot-suggestions]
option-label [^slot-option-label]

^^^slot-suggestions

下拉建议面板插槽。

+++作用域参数

名称 类型 描述
datasource `Array<string Object>`
keyword string 搜索关键词。
+++
^^^

^^^slot-option-label

下拉面板中选项插槽。

+++作用域参数

名称 类型 描述
label string 用来显示的节点文案,不存在则取 value
value string 用来实际选中的值。
matches Array<{text: string, matched: boolean}> 匹配情况,一个节点可能被切分成多断文本,text 表示该段文本, matched 表示该段文本是否匹配。
+++
^^^

事件

名称 描述
input [^event-input]
select 采纳建议时触发,参数是当前值。
toggle 提示面板展开状态切换时触发,回调参数为 (expanded: boolean)expanded 表示操作将触发提示面板展开还是收起。
clear 清除当前值时触发。

^^^event-input :::badges v-model :::

当在 input 中输入或下拉面板中选值会触发该事件,参数是当前输入值或选中时的选中项目的 value。 ^^^