导入
import { type NuiOption, NuiSelect } from '@needless-ui/angular/select';NuiSelect
点击后打开选项列表的按钮。
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
options输入 | NuiOption<V>[] | 选项,以 NuiOption 对象的形式提供。 | |
value双向绑定 | V | null | null | 选中的值,或 null。也可以与表单配合使用。 |
values双向绑定 | readonly V[] | [] | 启用 multiple 时选中的多个值。 |
multiple输入 | boolean | false | 允许选择多个选项。选择期间列表保持打开。 |
selectAll输入 | boolean | false | 启用 multiple 时,添加一个全选或全部清除的按钮。 |
placeholder输入 | string | 'Select…' | 未选择任何项时显示的文本。 |
label输入 | string | 可访问名称,在没有 <label> 为按钮命名时使用。 | |
triggerId输入 | string | 按钮的 id,供 <label for> 使用。 | |
disabled输入 | boolean | false | 禁用选择器。 |
compareWith输入 | (a: V, b: V) => boolean | Object.is | 判断两个值是否为同一选项,适用于对象类型的值。 |
virtual输入 | boolean | 'auto' | 'auto' | 只渲染可见的行:始终、从不,或 auto(超过 200 行时启用)。 |
openChange输出 | boolean | 列表打开或关闭时发出。 | |
show方法 | () => void | 打开列表。 | |
hide方法 | () => void | 关闭列表。 | |
focus方法 | (options?: FocusOptions) => void | 让按钮获得焦点。 |
它显示或播报的所有文本也都是输入属性,因此可以翻译: selectAllLabel clearAllLabel emptyLabel
NuiOption
单个选项。选择器、组合框和命令面板都接收这种对象。
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
value属性 | V | 选中它时设置的值,可以是任意类型。 | |
label属性 | string | 显示并用于搜索的文本。 | |
description属性 | string | 显示在主文本下方的次要文本。 | |
group属性 | string | 分组相同的选项会按顺序列在该分组标题下。 | |
keywords属性 | string[] | 搜索时额外匹配的词,例如同义词或代码。 | |
disabled属性 | boolean | 会显示,但无法选择。 | |
children属性 | NuiOption<V>[] | 下一级的选项,会让列表变成树。 |
NuiOptionTemplate
把它放在组件内的 ng-template 上,即可自行绘制每一行。上下文中包含选项及其所在行。
NuiOptionText
绘制选项的显示文本(标出匹配的字母)、描述和路径,用于你自定义的行。
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
nuiOptionText输入 | NuiOptionRow<V> | 行,取自模板上下文。 |