ohayolibs
Version:
Ohayo is a set of essential modules for ohayojp.
44 lines (31 loc) • 2.05 kB
Markdown
---
title: autocomplete
subtitle: 自动完成
type: Widgets
---
输入框自动完成功能。
## 数据源说明
**静态**
指获取后每一次筛选是通过 `filterOption` 过滤,数据来源于 `asyncData`、`enum`。
若 `schema.format: 'email'` 时自动渲染为自动补全邮箱后缀,默认 `['qq.com', '163.com', 'gmail.com', '126.com', 'aliyun.com']` 可通过 `enum` 来重新调整该值或[全局配置](/docs/global-config) `uiEmailSuffixes`。
**实时**
指获取后每一次筛选是通过 `filterOption` 过滤,数据来源于 `asyncData`。
## API
### schema 属性
| 成员 | 说明 | 类型 | 默认值 |
|----|----|----|-----|
| `[enum]` | 静态数据源 | `SFSchemaEnumType[]` | - |
| `[readOnly]` | 禁用状态 | `boolean` | - |
### ui 属性
| 成员 | 说明 | 类型 | 默认值 |
|----|----|----|-----|
| `[asyncData]` | 实时数据源 | `(input: string) => Observable<SFSchemaEnumType[]>` | - |
| `[size]` | 大小,等同 `nzSize` | `string` | - |
| `[placeholder]` | 在文字框中显示提示讯息 | `string` | - |
| `[filterOption]` | 是否根据输入项进行筛选,默认只对 `label` 属性执行不区分大小定 `indexOf` 过滤。当其为一个函数时,会接收 `inputValue` `option` 两个参数,当 `option` 符合筛选条件时,应返回 `true`,反之则返回 `false`。 | `boolean or (inputValue: string, option: SFSchemaEnum) => boolean` | `true` |
| `[type]` | 模式,自动完成常见邮箱后缀,可以重新使用 `enum` 来指定新后缀 | `email` | - |
| `[debounceTime]` | 去抖时间,当实时数据源时默认最少 `50`,单位:毫秒 | `number` | `0` |
| `[defaultActiveFirstOption]` | 是否默认高亮第一个选项 | `boolean` | `true` |
| `[backfill]` | 使用键盘选择选项的时候把选中项回填到输入框中 | `boolean` | `false` |
| `[nzWidth]` | 自定义宽度单位 px | `number` | 触发元素宽度 |
| `[change]` | 变更回调 | `(item: NzAutocompleteOptionComponent, orgData: SFSchemaEnum) => void` | - |