TreeSelectComponent
Defined in: packages/rxdb-model-angular/src/query-builder/tree-select/tree-select.component.ts:209
树形下拉选择组件
Description
基于 Popover API 和 @angular/cdk/a11y 的树形字段选择器:
- 使用原生 Popover API,在
overflow容器中不被裁剪 - 支持关键字过滤(自动展开匹配路径)
- 支持展开/折叠关系节点
- 键盘导航:↑↓ 移动、→ 展开、← 折叠、Enter 选中、Escape 关闭
- 使用 CDK
ActiveDescendantKeyManager+aria-activedescendant满足 WAI-ARIA 无障碍规范
Example
<rxdb-tree-select
[nodes]="fieldTree()"
[selected]="selectedField()"
placeholder="选择字段"
(selectChange)="onFieldSelect($event)"
/>
Constructors
Constructor
new TreeSelectComponent(): TreeSelectComponent;
Defined in: packages/rxdb-model-angular/src/query-builder/tree-select/tree-select.component.ts:277
Returns
TreeSelectComponent
Properties
activeItemId
readonly activeItemId: Signal<string | null>;
Defined in: packages/rxdb-model-angular/src/query-builder/tree-select/tree-select.component.ts:270
ChevronDownIcon
protected readonly ChevronDownIcon: typeof LucideChevronDown;
Defined in: packages/rxdb-model-angular/src/query-builder/tree-select/tree-select.component.ts:221
ChevronRightIcon
protected readonly ChevronRightIcon: typeof LucideChevronRight;
Defined in: packages/rxdb-model-angular/src/query-builder/tree-select/tree-select.component.ts:222
defaultTypeColor
protected readonly defaultTypeColor: "text-base-content/40" = 'text-base-content/40';
Defined in: packages/rxdb-model-angular/src/query-builder/tree-select/tree-select.component.ts:246
defaultTypeIcon
protected readonly defaultTypeIcon: typeof LucideType = TypeIcon;
Defined in: packages/rxdb-model-angular/src/query-builder/tree-select/tree-select.component.ts:245
displayValue
readonly displayValue: Signal<string>;
Defined in: packages/rxdb-model-angular/src/query-builder/tree-select/tree-select.component.ts:254
filterText
protected readonly filterText: WritableSignal<string>;
Defined in: packages/rxdb-model-angular/src/query-builder/tree-select/tree-select.component.ts:220
listId
protected readonly listId: string;
Defined in: packages/rxdb-model-angular/src/query-builder/tree-select/tree-select.component.ts:219
minWidth
readonly minWidth: InputSignal<string>;
Defined in: packages/rxdb-model-angular/src/query-builder/tree-select/tree-select.component.ts:251
nodes
readonly nodes: InputSignal<FieldTreeNode[]>;
Defined in: packages/rxdb-model-angular/src/query-builder/tree-select/tree-select.component.ts:248
placeholder
readonly placeholder: InputSignal<string>;
Defined in: packages/rxdb-model-angular/src/query-builder/tree-select/tree-select.component.ts:250
selectChange
readonly selectChange: OutputEmitterRef<string>;
Defined in: packages/rxdb-model-angular/src/query-builder/tree-select/tree-select.component.ts:252
selected
readonly selected: InputSignal<string>;
Defined in: packages/rxdb-model-angular/src/query-builder/tree-select/tree-select.component.ts:249
selectedNode
readonly selectedNode: Signal<FieldTreeNode | null | undefined>;
Defined in: packages/rxdb-model-angular/src/query-builder/tree-select/tree-select.component.ts:259
typeColorMap
protected readonly typeColorMap: Partial<Record<string, string>>;
Defined in: packages/rxdb-model-angular/src/query-builder/tree-select/tree-select.component.ts:234
typeIconMap
protected readonly typeIconMap: Partial<Record<string, LucideIconInput>>;
Defined in: packages/rxdb-model-angular/src/query-builder/tree-select/tree-select.component.ts:223
uid
protected readonly uid: string;
Defined in: packages/rxdb-model-angular/src/query-builder/tree-select/tree-select.component.ts:218
visibleItems
readonly visibleItems: Signal<FlatItem[]>;
Defined in: packages/rxdb-model-angular/src/query-builder/tree-select/tree-select.component.ts:264
Methods
onBeforeToggle()
onBeforeToggle(event): void;
Defined in: packages/rxdb-model-angular/src/query-builder/tree-select/tree-select.component.ts:298
Parameters
| Parameter | Type |
|---|---|
event | Event |
Returns
void
onItemClick()
onItemClick(item): void;
Defined in: packages/rxdb-model-angular/src/query-builder/tree-select/tree-select.component.ts:359
Parameters
| Parameter | Type |
|---|---|
item | FlatItem |
Returns
void
onKeydown()
onKeydown(event): void;
Defined in: packages/rxdb-model-angular/src/query-builder/tree-select/tree-select.component.ts:319
Parameters
| Parameter | Type |
|---|---|
event | KeyboardEvent |
Returns
void
onToggle()
onToggle(event): void;
Defined in: packages/rxdb-model-angular/src/query-builder/tree-select/tree-select.component.ts:309
Parameters
| Parameter | Type |
|---|---|
event | Event |
Returns
void
trackItem()
protected trackItem(item): string;
Defined in: packages/rxdb-model-angular/src/query-builder/tree-select/tree-select.component.ts:369
追踪函数:使用 value + isExistsOption 避免重复 key
Parameters
| Parameter | Type |
|---|---|
item | FlatItem |
Returns
string