x-next 1.13.0 → 1.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (187) hide show
  1. package/AI_CODING.md +6 -5
  2. package/AI_USAGE/catalog.md +108 -105
  3. package/AI_USAGE/components/alert-api.md +48 -0
  4. package/AI_USAGE/components/alert.md +222 -3
  5. package/AI_USAGE/components/bar-chart-api.md +177 -0
  6. package/AI_USAGE/components/bar-chart.md +297 -3
  7. package/AI_USAGE/components/boxicons.md +147 -0
  8. package/AI_USAGE/components/button-api.md +144 -0
  9. package/AI_USAGE/components/button.md +447 -3
  10. package/AI_USAGE/components/charts.md +81 -0
  11. package/AI_USAGE/components/checkbox-api.md +145 -0
  12. package/AI_USAGE/components/checkbox.md +365 -3
  13. package/AI_USAGE/components/color-picker-api.md +52 -0
  14. package/AI_USAGE/components/color-picker.md +211 -3
  15. package/AI_USAGE/components/config-provider-api.md +38 -0
  16. package/AI_USAGE/components/config-provider.md +250 -3
  17. package/AI_USAGE/components/date-picker-api.md +1114 -0
  18. package/AI_USAGE/components/date-picker.md +378 -3
  19. package/AI_USAGE/components/dialog-api.md +142 -0
  20. package/AI_USAGE/components/dialog.md +284 -3
  21. package/AI_USAGE/components/draggable-api.md +146 -0
  22. package/AI_USAGE/components/draggable.md +259 -0
  23. package/AI_USAGE/components/drawer-api.md +78 -0
  24. package/AI_USAGE/components/drawer.md +256 -0
  25. package/AI_USAGE/components/dropdown-api.md +529 -0
  26. package/AI_USAGE/components/dropdown.md +392 -3
  27. package/AI_USAGE/components/empty-api.md +36 -0
  28. package/AI_USAGE/components/empty.md +227 -3
  29. package/AI_USAGE/components/finicon.md +88 -0
  30. package/AI_USAGE/components/form-api.md +524 -0
  31. package/AI_USAGE/components/form.md +454 -0
  32. package/AI_USAGE/components/grid-api.md +527 -0
  33. package/AI_USAGE/components/grid.md +224 -0
  34. package/AI_USAGE/components/heatmap-api.md +122 -0
  35. package/AI_USAGE/components/heatmap.md +220 -0
  36. package/AI_USAGE/components/icon-api.md +4707 -0
  37. package/AI_USAGE/components/icon.md +257 -0
  38. package/AI_USAGE/components/image-api.md +440 -0
  39. package/AI_USAGE/components/image.md +465 -0
  40. package/AI_USAGE/components/input-api.md +184 -0
  41. package/AI_USAGE/components/input-number-api.md +66 -0
  42. package/AI_USAGE/components/input-number.md +294 -0
  43. package/AI_USAGE/components/input-tag-api.md +114 -0
  44. package/AI_USAGE/components/input-tag.md +482 -0
  45. package/AI_USAGE/components/input.md +293 -3
  46. package/AI_USAGE/components/layout-api.md +147 -0
  47. package/AI_USAGE/components/layout.md +230 -0
  48. package/AI_USAGE/components/line-chart-api.md +197 -0
  49. package/AI_USAGE/components/line-chart.md +306 -3
  50. package/AI_USAGE/components/link-api.md +42 -0
  51. package/AI_USAGE/components/link.md +197 -0
  52. package/AI_USAGE/components/menu-api.md +516 -0
  53. package/AI_USAGE/components/menu.md +268 -0
  54. package/AI_USAGE/components/message-api.md +215 -0
  55. package/AI_USAGE/components/message-box-api.md +108 -0
  56. package/AI_USAGE/components/message-box.md +268 -3
  57. package/AI_USAGE/components/message.md +231 -3
  58. package/AI_USAGE/components/network-api.md +91 -0
  59. package/AI_USAGE/components/network.md +378 -0
  60. package/AI_USAGE/components/notification-api.md +236 -0
  61. package/AI_USAGE/components/notification.md +275 -3
  62. package/AI_USAGE/components/pagination-api.md +62 -0
  63. package/AI_USAGE/components/pagination.md +380 -3
  64. package/AI_USAGE/components/pie-chart-api.md +109 -0
  65. package/AI_USAGE/components/pie-chart.md +245 -3
  66. package/AI_USAGE/components/popconfirm-api.md +75 -0
  67. package/AI_USAGE/components/popconfirm.md +231 -3
  68. package/AI_USAGE/components/popover-api.md +75 -0
  69. package/AI_USAGE/components/popover.md +208 -3
  70. package/AI_USAGE/components/popup-api.md +75 -0
  71. package/AI_USAGE/components/popup.md +52 -0
  72. package/AI_USAGE/components/progress-api.md +44 -0
  73. package/AI_USAGE/components/progress.md +248 -3
  74. package/AI_USAGE/components/radio-api.md +165 -0
  75. package/AI_USAGE/components/radio.md +259 -3
  76. package/AI_USAGE/components/rate-api.md +54 -0
  77. package/AI_USAGE/components/rate.md +233 -3
  78. package/AI_USAGE/components/resize-box-api.md +56 -0
  79. package/AI_USAGE/components/resize-box.md +231 -0
  80. package/AI_USAGE/components/scrollbar-api.md +77 -0
  81. package/AI_USAGE/components/scrollbar.md +218 -0
  82. package/AI_USAGE/components/select-api.md +758 -0
  83. package/AI_USAGE/components/select.md +640 -3
  84. package/AI_USAGE/components/skeleton-api.md +85 -0
  85. package/AI_USAGE/components/skeleton.md +150 -0
  86. package/AI_USAGE/components/slider-api.md +51 -0
  87. package/AI_USAGE/components/slider.md +233 -3
  88. package/AI_USAGE/components/space-api.md +38 -0
  89. package/AI_USAGE/components/space.md +145 -0
  90. package/AI_USAGE/components/spin-api.md +43 -0
  91. package/AI_USAGE/components/spin.md +205 -0
  92. package/AI_USAGE/components/steps-api.md +111 -0
  93. package/AI_USAGE/components/steps.md +201 -3
  94. package/AI_USAGE/components/switch-api.md +58 -0
  95. package/AI_USAGE/components/switch.md +290 -3
  96. package/AI_USAGE/components/table-api.md +2919 -0
  97. package/AI_USAGE/components/table.md +1457 -0
  98. package/AI_USAGE/components/tabs-api.md +135 -0
  99. package/AI_USAGE/components/tabs.md +308 -3
  100. package/AI_USAGE/components/tag-api.md +124 -0
  101. package/AI_USAGE/components/tag.md +292 -0
  102. package/AI_USAGE/components/textarea-api.md +55 -0
  103. package/AI_USAGE/components/textarea.md +326 -3
  104. package/AI_USAGE/components/time-picker-api.md +137 -0
  105. package/AI_USAGE/components/time-picker.md +271 -3
  106. package/AI_USAGE/components/time-range-selector-api.md +44 -0
  107. package/AI_USAGE/components/time-range-selector.md +355 -0
  108. package/AI_USAGE/components/timeline-api.md +93 -0
  109. package/AI_USAGE/components/timeline.md +312 -0
  110. package/AI_USAGE/components/tooltip-api.md +77 -0
  111. package/AI_USAGE/components/tooltip.md +182 -0
  112. package/AI_USAGE/components/tree-select-api.md +498 -0
  113. package/AI_USAGE/components/tree-select.md +744 -0
  114. package/AI_USAGE/components/trend-chart-api.md +119 -0
  115. package/AI_USAGE/components/trend-chart.md +335 -0
  116. package/AI_USAGE/components/trigger-api.md +124 -0
  117. package/AI_USAGE/components/trigger.md +185 -0
  118. package/AI_USAGE/components/upload-api.md +200 -0
  119. package/AI_USAGE/components/upload.md +711 -3
  120. package/AI_USAGE/components/watermark-api.md +87 -0
  121. package/AI_USAGE/components/watermark.md +200 -0
  122. package/AI_USAGE/core.md +1 -1
  123. package/AI_USAGE/index.md +36 -7
  124. package/AI_USAGE/recipes/form-on-demand.md +1 -1
  125. package/AI_USAGE.md +34972 -5
  126. package/CHANGELOG.md +39 -0
  127. package/dist/_props/css.d.ts +2 -1
  128. package/dist/_utils/inherit-component-type.d.ts +11 -0
  129. package/dist/components/bar-chart/BarChart.d.ts +1 -1
  130. package/dist/components/bar-chart/index.d.ts +3 -3
  131. package/dist/components/date-picker/index.d.ts +420 -5
  132. package/dist/components/form-input/index.d.ts +617 -2
  133. package/dist/components/index.d.ts +1 -0
  134. package/dist/components/layout/index.d.ts +689 -1
  135. package/dist/components/line-chart/LineChart.d.ts +1 -1
  136. package/dist/components/line-chart/index.d.ts +3 -3
  137. package/dist/components/line-chart/interface.d.ts +2 -2
  138. package/dist/components/menu/index.d.ts +786 -1
  139. package/dist/components/tree-select/TreeNode.vue.d.ts +478 -0
  140. package/dist/components/tree-select/TreeSelect.d.ts +1549 -0
  141. package/dist/components/tree-select/TreeSelectDropdown.vue.d.ts +569 -0
  142. package/dist/components/tree-select/hooks/use-tree-select.d.ts +92 -0
  143. package/dist/components/tree-select/index.d.ts +3321 -0
  144. package/dist/components/tree-select/interface.d.ts +203 -0
  145. package/dist/components/tree-select/utils.d.ts +64 -0
  146. package/dist/es/_styles/palette-aliases.js +3 -0
  147. package/dist/es/_utils/inherit-component-type.js +6 -0
  148. package/dist/es/components/_components/feedback-icon/index.vue2.js +10 -10
  149. package/dist/es/components/button/Button.js +9 -9
  150. package/dist/es/components/date-picker/index.js +18 -17
  151. package/dist/es/components/drawer/src/Drawer.vue.js +6 -6
  152. package/dist/es/components/form-input/index.js +12 -11
  153. package/dist/es/components/form-switch/Switch.vue2.js +18 -18
  154. package/dist/es/components/image/Image.vue2.js +13 -13
  155. package/dist/es/components/image/ImagePreview.vue2.js +33 -33
  156. package/dist/es/components/index.js +55 -52
  157. package/dist/es/components/layout/index.js +10 -9
  158. package/dist/es/components/link/Link.vue2.js +12 -12
  159. package/dist/es/components/menu/hooks/use-level.js +5 -5
  160. package/dist/es/components/menu/index.js +13 -10
  161. package/dist/es/components/message/message.vue2.js +13 -13
  162. package/dist/es/components/spin/Spin.js +28 -28
  163. package/dist/es/components/tag/Tag.vue2.js +22 -22
  164. package/dist/es/components/timeline/src/Timeline.js +7 -7
  165. package/dist/es/components/tree-select/TreeNode.vue.js +91 -0
  166. package/dist/es/components/tree-select/TreeNode.vue2.js +162 -0
  167. package/dist/es/components/tree-select/TreeSelect.js +865 -0
  168. package/dist/es/components/tree-select/TreeSelectDropdown.vue.js +57 -0
  169. package/dist/es/components/tree-select/TreeSelectDropdown.vue2.js +79 -0
  170. package/dist/es/components/tree-select/hooks/use-tree-select.js +376 -0
  171. package/dist/es/components/tree-select/index.js +13 -0
  172. package/dist/es/components/tree-select/utils.js +181 -0
  173. package/dist/es/icons/animation/animation-loading.js +2 -2
  174. package/dist/es/index.js +71 -68
  175. package/dist/es/style.css +1 -1
  176. package/dist/index.cjs +3 -3
  177. package/dist/index.umd.js +3 -3
  178. package/dist/style/base.css +1 -1
  179. package/dist/style/dependencies.json +10 -0
  180. package/dist/style/drawer.css +1 -1
  181. package/dist/style/table.css +1 -1
  182. package/dist/style/tree-select.css +1 -0
  183. package/dist/style/tree-select.js +8 -0
  184. package/dist/style.css +1 -1
  185. package/dist/types.d.ts +2 -0
  186. package/package.json +11 -5
  187. package/volar.d.ts +2 -0
@@ -0,0 +1,498 @@
1
+ <!-- Generated by pnpm generate:ai-usage. Edit script/ai-usage/content.md and script/ai-usage/. -->
2
+ # TreeSelect 完整公开 API
3
+
4
+ 适用版本:x-next@1.15.0;来源指纹:`47ea153587c8d0b3bf318977b10bde9f8dd4acff90c5818541ba6513252ad362`。
5
+
6
+ 从同版本构建的公开声明、运行时 props/emits 和显式 expose 生成。运行时导入始终使用 `x-next`,声明路径仅作定位。插槽类型未细化时,具体槽名与作用域见本地用法示例。
7
+
8
+ ## TreeSelect API
9
+
10
+ 公开声明:`dist/components/tree-select/index.d.ts`。 类型中的 undefined 表示可省略;原始 prop 默认值不等于继承配置或服务默认值。
11
+
12
+ ### Props
13
+
14
+ | 名称 | 用途 | 公开类型 | 必填 | 声明默认值 |
15
+ | --- | --- | --- | --- | --- |
16
+ | modelValue | 绑定值,勾选 / 多选为数组 | undefined &#124; string &#124; number &#124; TreeSelectLabelValue &#124; TreeSelectValue[] | 否 | undefined |
17
+ | defaultValue | 默认值(非受控) | undefined &#124; string &#124; number &#124; TreeSelectLabelValue &#124; TreeSelectValue[] | 否 | 工厂函数(每个实例初始化;有效值见行为说明) |
18
+ | multiple | 是否多选 | undefined &#124; false &#124; true | 否 | false |
19
+ | treeCheckable | 是否开启勾选模式,值始终为数组 | undefined &#124; false &#124; true | 否 | false |
20
+ | treeCheckStrictly | 勾选模式是否取消父子联动 | undefined &#124; false &#124; true | 否 | false |
21
+ | checkedStrategy | 勾选回填策略 | undefined &#124; "all" &#124; "parent" &#124; "child" | 否 | "parent" |
22
+ | data | 树数据 | undefined &#124; TreeSelectNodeData[] | 否 | [] |
23
+ | fieldNames | 自定义节点字段名 | undefined &#124; { [x: string]: string &#124; undefined; key?: string &#124; undefined; title?: string &#124; undefined; children?: string &#124; undefined; disabled?: string &#124; undefined; checkable?: string &#124; undefined; disableCheckbox?: string &#124; undefined; selectable?: string &#124; undefined; isLeaf?: string &#124; undefined; icon?: string &#124; undefined; } | 否 | 未声明 |
24
+ | labelInValue | 值是否包含标题 | undefined &#124; false &#124; true | 否 | false |
25
+ | selectable | 节点可选规则,支持 'leaf' 或方法 | undefined &#124; false &#124; true &#124; "leaf" &#124; (node: TreeSelectNodeData, info: { isLeaf: boolean; level: number; }) => boolean | 否 | true |
26
+ | allowSearch | 是否允许搜索 | undefined &#124; false &#124; true &#124; { retainInputValue?: boolean; } | 否 | 工厂函数(每个实例初始化;有效值见行为说明) |
27
+ | allowClear | 是否允许清空 | undefined &#124; false &#124; true | 否 | false |
28
+ | filterTreeNode | 过滤节点方法,false 关闭过滤 | undefined &#124; false &#124; true &#124; (inputValue: string, node: TreeSelectNodeData) => boolean | 否 | true |
29
+ | searchDelay | search 事件触发延迟 | undefined &#124; number | 否 | 500 |
30
+ | inputValue | 搜索输入值(v-model) | undefined &#124; string | 否 | 未声明 |
31
+ | defaultInputValue | 默认搜索输入值 | undefined &#124; string | 否 | "" |
32
+ | size | 尺寸 | undefined &#124; "mini" &#124; "small" &#124; "medium" &#124; "large" | 否 | 未声明 |
33
+ | placeholder | 占位提示 | undefined &#124; string | 否 | 未声明 |
34
+ | loading | 是否加载中 | undefined &#124; false &#124; true | 否 | false |
35
+ | disabled | 是否禁用 | undefined &#124; false &#124; true | 否 | false |
36
+ | error | 是否错误状态 | undefined &#124; false &#124; true | 否 | false |
37
+ | bordered | 是否显示边框 | undefined &#124; false &#124; true | 否 | true |
38
+ | maxTagCount | 最多展示标签数,0 不限制 | undefined &#124; number | 否 | 0 |
39
+ | tagNowrap | 标签是否不换行 | undefined &#124; false &#124; true | 否 | false |
40
+ | popupVisible | 面板显示状态(v-model) | undefined &#124; false &#124; true | 否 | undefined |
41
+ | defaultPopupVisible | 面板默认显示状态 | undefined &#124; false &#124; true | 否 | false |
42
+ | unmountOnClose | 关闭时销毁面板 | undefined &#124; false &#124; true | 否 | false |
43
+ | popupContainer | 弹出层挂载容器 | undefined &#124; string &#124; HTMLElement | 否 | 未声明 |
44
+ | triggerProps | 触发器配置 | undefined &#124; TriggerProps | 否 | 未声明 |
45
+ | defaultExpandAll | 默认展开全部节点 | undefined &#124; false &#124; true | 否 | false |
46
+ | expandedKeys | 展开节点(v-model) | undefined &#124; TreeSelectKey[] | 否 | undefined |
47
+ | defaultExpandedKeys | 默认展开节点 | undefined &#124; TreeSelectKey[] | 否 | [] |
48
+ | autoExpandParent | 是否自动展开父节点 | undefined &#124; false &#124; true | 否 | true |
49
+ | showLine | 是否显示连接线 | undefined &#124; false &#124; true | 否 | false |
50
+ | blockNode | 节点占据整行 | undefined &#124; false &#124; true | 否 | false |
51
+ | virtualListProps | 虚拟列表配置,传入即开启 | undefined &#124; VirtualListProps | 否 | 未声明 |
52
+ | scrollbar | 是否开启滚动条或滚动条配置 | undefined &#124; false &#124; true &#124; ScrollbarProps | 否 | true |
53
+ | maxHeight | 下拉列表最大高度 | undefined &#124; string &#124; number | 否 | 未声明 |
54
+ | loadMore | 异步加载子节点 | undefined &#124; (node: TreeSelectNodeData) => Promise<void> | 否 | 未声明 |
55
+ | fallbackOption | 自定义缺失值显示,false 丢弃 | undefined &#124; false &#124; true &#124; (value: TreeSelectKey) => TreeSelectNodeData | 否 | true |
56
+ | formatLabel | 格式化显示内容 | undefined &#124; (data: TreeSelectNodeData) => string | 否 | 未声明 |
57
+ | showHeaderOnEmpty | 空态是否显示页头 | undefined &#124; false &#124; true | 否 | false |
58
+ | showFooterOnEmpty | 空态是否显示页脚 | undefined &#124; false &#124; true | 否 | false |
59
+
60
+ ### Events
61
+
62
+ | 事件 | 用途 | 监听器签名(即事件参数) |
63
+ | --- | --- | --- |
64
+ | update:modelValue | 值更新时触发 | undefined &#124; (value: TreeSelectValue &#124; TreeSelectValue[] &#124; undefined) => any |
65
+ | update:inputValue | 搜索输入更新时触发 | undefined &#124; (inputValue: string) => any |
66
+ | update:popupVisible | 面板显隐更新时触发 | undefined &#124; (visible: boolean) => any |
67
+ | update:expandedKeys | 展开节点更新时触发 | undefined &#124; (keys: TreeSelectKey[]) => any |
68
+ | change | 值变化时触发 | undefined &#124; (value: TreeSelectValue &#124; TreeSelectValue[] &#124; undefined, info: Record<string, unknown>) => any |
69
+ | inputValueChange | 搜索输入变化时触发 | undefined &#124; (inputValue: string) => any |
70
+ | search | 用户搜索时触发(searchDelay 后) | undefined &#124; (inputValue: string) => any |
71
+ | popupVisibleChange | 面板显隐变化时触发 | undefined &#124; (visible: boolean) => any |
72
+ | clear | 点击清空按钮时触发 | undefined &#124; (ev: Event) => any |
73
+ | remove | 关闭多选标签时触发 | undefined &#124; (removed: TreeSelectValue &#124; undefined) => any |
74
+ | expand | 展开状态变化时触发 | undefined &#124; (keys: TreeSelectKey[], info: Record<string, unknown>) => any |
75
+ | dropdownScroll | 下拉滚动时触发 | undefined &#124; (ev: Event) => any |
76
+ | nodeClick | 点击(勾选)节点时触发 | undefined &#124; (value: TreeSelectValue, info: Record<string, unknown>) => any |
77
+ | focus | 默认触发器聚焦 | undefined &#124; (ev: FocusEvent) => any |
78
+ | blur | 默认触发器失焦 | undefined &#124; (ev: FocusEvent) => any |
79
+
80
+ ### Slots
81
+
82
+ | 名称 | 用途 | 公开类型 |
83
+ | --- | --- | --- |
84
+ | title | 自定义节点标题;参数 { node, value, title, level, checked, halfChecked, selected, expanded, disabled, isLeaf } | 文档列出的实际插槽;公开类型未细化,作用域见场景用法 |
85
+ | node-icon | 节点前缀图标;参数 { node } | 文档列出的实际插槽;公开类型未细化,作用域见场景用法 |
86
+ | switcher-icon | 展开 / 收起图标;参数 { node, expanded, loading } | 文档列出的实际插槽;公开类型未细化,作用域见场景用法 |
87
+ | label | 选择框显示内容;参数 { data },data 为 { value, label, raw } | 文档列出的实际插槽;公开类型未细化,作用域见场景用法 |
88
+ | header | 下拉页头 | 文档列出的实际插槽;公开类型未细化,作用域见场景用法 |
89
+ | footer | 下拉页脚 | 文档列出的实际插槽;公开类型未细化,作用域见场景用法 |
90
+ | empty | 空状态内容 | 文档列出的实际插槽;公开类型未细化,作用域见场景用法 |
91
+ | prefix | 选择框前缀元素 | 文档列出的实际插槽;公开类型未细化,作用域见场景用法 |
92
+ | arrow-icon | 箭头图标 | 文档列出的实际插槽;公开类型未细化,作用域见场景用法 |
93
+ | loading-icon | 加载中图标 | 文档列出的实际插槽;公开类型未细化,作用域见场景用法 |
94
+ | search-icon | 搜索图标 | 文档列出的实际插槽;公开类型未细化,作用域见场景用法 |
95
+ | trigger | 自定义触发元素;参数 { popupVisible, disabled, treeId, activeDescendant, onKeydown } | 文档列出的实际插槽;公开类型未细化,作用域见场景用法 |
96
+
97
+ ### 实例方法 / 暴露值
98
+
99
+ | 名称 | 公开类型 |
100
+ | --- | --- |
101
+ | focus | 公开声明未细化(用法和实现已显式暴露) |
102
+ | blur | 公开声明未细化(用法和实现已显式暴露) |
103
+ | expandAll | 公开声明未细化(用法和实现已显式暴露) |
104
+ | checkAll | 公开声明未细化(用法和实现已显式暴露) |
105
+
106
+ ### 关联类型定义
107
+
108
+ 以下摘自本组件族声明,供查阅嵌套配置;运行时和值类型均以根入口可导出项为准。
109
+
110
+ ```typescript-reference
111
+ type TreeSelectKey = string | number;
112
+
113
+ interface TreeSelectNodeData {
114
+ /**
115
+ * @zh 节点键值,全局唯一;不传时按节点路径自动生成
116
+ * @en Node key, unique in the whole tree; generated from the node path when omitted
117
+ */
118
+ key?: TreeSelectKey;
119
+ /**
120
+ * @zh 节点标题
121
+ * @en Node title
122
+ */
123
+ title?: string;
124
+ /**
125
+ * @zh 子节点
126
+ * @en Child nodes
127
+ */
128
+ children?: TreeSelectNodeData[];
129
+ /**
130
+ * @zh 是否禁用,禁用节点不可选中、不可勾选、不参与父子联动
131
+ * @en Whether disabled. Disabled nodes cannot be selected or checked and are excluded from cascade
132
+ */
133
+ disabled?: boolean;
134
+ /**
135
+ * @zh 是否可勾选,仅 `treeCheckable` 时生效
136
+ * @en Whether checkable, only works with `treeCheckable`
137
+ */
138
+ checkable?: boolean;
139
+ /**
140
+ * @zh 是否禁用复选框,仍可被父节点联动勾选
141
+ * @en Whether the checkbox is disabled. The node can still be toggled by its parent
142
+ */
143
+ disableCheckbox?: boolean;
144
+ /**
145
+ * @zh 是否可选中
146
+ * @en Whether selectable
147
+ */
148
+ selectable?: boolean;
149
+ /**
150
+ * @zh 是否为叶子节点,配合 `loadMore` 判断是否需要异步加载子节点
151
+ * @en Whether it is a leaf, used with `loadMore` for lazy loading
152
+ */
153
+ isLeaf?: boolean;
154
+ /**
155
+ * @zh 节点前缀图标
156
+ * @en Node prefix icon
157
+ */
158
+ icon?: RenderFunction;
159
+ [other: string]: any;
160
+ }
161
+
162
+ type TreeSelectFieldNames = FieldString<TreeSelectNodeData>;
163
+
164
+ interface TreeSelectLabelValue {
165
+ /**
166
+ * @zh 选中的键值
167
+ * @en Selected key
168
+ */
169
+ value: TreeSelectKey;
170
+ /**
171
+ * @zh 选中的标题
172
+ * @en Selected title
173
+ */
174
+ label: string;
175
+ /**
176
+ * @zh 节点原始数据
177
+ * @en Raw node data
178
+ */
179
+ raw?: TreeSelectNodeData;
180
+ }
181
+
182
+ type TreeSelectValue = TreeSelectKey | TreeSelectLabelValue;
183
+
184
+ type TreeSelectFilterNode = (inputValue: string, node: TreeSelectNodeData) => boolean;
185
+
186
+ type TreeSelectSelectable = boolean | 'leaf' | ((node: TreeSelectNodeData, info: {
187
+ isLeaf: boolean;
188
+ level: number;
189
+ }) => boolean);
190
+
191
+ interface TreeSelectInstance {
192
+ /** 聚焦默认触发器 */
193
+ focus: () => void;
194
+ /** 失焦默认触发器 */
195
+ blur: () => void;
196
+ /** 展开 / 收起全部可展开节点,默认展开 */
197
+ expandAll: (expanded?: boolean) => void;
198
+ /** 全选 / 清空勾选,仅勾选模式生效,默认全选 */
199
+ checkAll: (checked?: boolean) => void;
200
+ }
201
+
202
+ interface TreeSelectProps {
203
+ modelValue?: TreeSelectValue | TreeSelectValue[];
204
+ defaultValue?: TreeSelectValue | TreeSelectValue[];
205
+ multiple?: boolean;
206
+ treeCheckable?: boolean;
207
+ treeCheckStrictly?: boolean;
208
+ checkedStrategy?: 'all' | 'parent' | 'child';
209
+ data?: TreeSelectNodeData[];
210
+ fieldNames?: TreeSelectFieldNames;
211
+ labelInValue?: boolean;
212
+ selectable?: TreeSelectSelectable;
213
+ allowSearch?: boolean | {
214
+ retainInputValue?: boolean;
215
+ };
216
+ allowClear?: boolean;
217
+ filterTreeNode?: boolean | TreeSelectFilterNode;
218
+ searchDelay?: number;
219
+ inputValue?: string;
220
+ defaultInputValue?: string;
221
+ size?: Size;
222
+ placeholder?: string;
223
+ loading?: boolean;
224
+ disabled?: boolean;
225
+ error?: boolean;
226
+ bordered?: boolean;
227
+ maxTagCount?: number;
228
+ tagNowrap?: boolean;
229
+ popupVisible?: boolean;
230
+ defaultPopupVisible?: boolean;
231
+ unmountOnClose?: boolean;
232
+ popupContainer?: string | HTMLElement;
233
+ triggerProps?: TriggerProps;
234
+ defaultExpandAll?: boolean;
235
+ expandedKeys?: TreeSelectKey[];
236
+ defaultExpandedKeys?: TreeSelectKey[];
237
+ autoExpandParent?: boolean;
238
+ showLine?: boolean;
239
+ blockNode?: boolean;
240
+ virtualListProps?: VirtualListProps;
241
+ scrollbar?: boolean | ScrollbarProps;
242
+ maxHeight?: number | string;
243
+ loadMore?: (node: TreeSelectNodeData) => Promise<void>;
244
+ fallbackOption?: boolean | ((value: TreeSelectKey) => TreeSelectNodeData);
245
+ formatLabel?: (data: TreeSelectNodeData) => string;
246
+ showHeaderOnEmpty?: boolean;
247
+ showFooterOnEmpty?: boolean;
248
+ }
249
+
250
+ interface TreeSelectNodeInfo {
251
+ key: string;
252
+ value: TreeSelectKey;
253
+ title: string;
254
+ raw: TreeSelectNodeData;
255
+ level: number;
256
+ index: number;
257
+ parentKey?: string;
258
+ pathKeys: string[];
259
+ childrenKeys: string[];
260
+ siblingIndex: number;
261
+ siblingCount: number;
262
+ isLeaf: boolean;
263
+ disabled: boolean;
264
+ checkable: boolean;
265
+ disableCheckbox: boolean;
266
+ selectable: boolean;
267
+ loading: boolean;
268
+ }
269
+
270
+ interface TreeSelectNodeSlotProps {
271
+ node: TreeSelectNodeData;
272
+ value: TreeSelectKey;
273
+ title: string;
274
+ level: number;
275
+ checked: boolean;
276
+ halfChecked: boolean;
277
+ selected: boolean;
278
+ expanded: boolean;
279
+ disabled: boolean;
280
+ isLeaf: boolean;
281
+ }
282
+ ```
283
+
284
+
285
+ ## TreeSelectDropdown API
286
+
287
+ 公开声明:`dist/components/tree-select/index.d.ts`。 类型中的 undefined 表示可省略;原始 prop 默认值不等于继承配置或服务默认值。
288
+
289
+ ### Props
290
+
291
+ | 名称 | 用途 | 公开类型 | 必填 | 声明默认值 |
292
+ | --- | --- | --- | --- | --- |
293
+ | id | 见场景用法与类型 | undefined &#124; string | 否 | 未声明 |
294
+ | loading | 见场景用法与类型 | undefined &#124; false &#124; true | 否 | false(Vue Boolean 转换) |
295
+ | empty | 见场景用法与类型 | undefined &#124; false &#124; true | 否 | false(Vue Boolean 转换) |
296
+ | virtualList | 见场景用法与类型 | undefined &#124; false &#124; true | 否 | false(Vue Boolean 转换) |
297
+ | showLine | 见场景用法与类型 | undefined &#124; false &#124; true | 否 | false(Vue Boolean 转换) |
298
+ | scrollbar | 见场景用法与类型 | undefined &#124; false &#124; true &#124; ScrollbarProps | 否 | true |
299
+ | maxHeight | 见场景用法与类型 | undefined &#124; string &#124; number | 否 | 未声明 |
300
+ | onScroll | 见场景用法与类型 | undefined &#124; ((ev: Event) => void) & ((...args: any[]) => any) &#124; ((ev: Event) => void)[] & ((...args: any[]) => any) | 否 | 未声明 |
301
+ | showHeaderOnEmpty | 见场景用法与类型 | undefined &#124; false &#124; true | 否 | false |
302
+ | showFooterOnEmpty | 见场景用法与类型 | undefined &#124; false &#124; true | 否 | false |
303
+
304
+ ### Events
305
+
306
+ | 事件 | 用途 | 监听器签名(即事件参数) |
307
+ | --- | --- | --- |
308
+ | scroll | 见场景用法与类型 | undefined &#124; ((ev: Event) => void) & ((...args: any[]) => any) &#124; ((ev: Event) => void)[] & ((...args: any[]) => any) |
309
+ | keydown | 见场景用法与类型 | undefined &#124; (...args: any[]) => any |
310
+
311
+ ### Slots
312
+
313
+ 公开类型未逐项声明插槽;本页场景说明列出实际使用的插槽,不将任意插槽视为已支持。
314
+
315
+ ### 实例方法
316
+
317
+ 没有检索到显式 expose 或 Options API methods 的公开方法;不把 setup 内部函数当成稳定实例 API。
318
+
319
+ ### 关联类型定义
320
+
321
+ 以下摘自本组件族声明,供查阅嵌套配置;运行时和值类型均以根入口可导出项为准。
322
+
323
+ ```typescript-reference
324
+ type TreeSelectKey = string | number;
325
+
326
+ interface TreeSelectNodeData {
327
+ /**
328
+ * @zh 节点键值,全局唯一;不传时按节点路径自动生成
329
+ * @en Node key, unique in the whole tree; generated from the node path when omitted
330
+ */
331
+ key?: TreeSelectKey;
332
+ /**
333
+ * @zh 节点标题
334
+ * @en Node title
335
+ */
336
+ title?: string;
337
+ /**
338
+ * @zh 子节点
339
+ * @en Child nodes
340
+ */
341
+ children?: TreeSelectNodeData[];
342
+ /**
343
+ * @zh 是否禁用,禁用节点不可选中、不可勾选、不参与父子联动
344
+ * @en Whether disabled. Disabled nodes cannot be selected or checked and are excluded from cascade
345
+ */
346
+ disabled?: boolean;
347
+ /**
348
+ * @zh 是否可勾选,仅 `treeCheckable` 时生效
349
+ * @en Whether checkable, only works with `treeCheckable`
350
+ */
351
+ checkable?: boolean;
352
+ /**
353
+ * @zh 是否禁用复选框,仍可被父节点联动勾选
354
+ * @en Whether the checkbox is disabled. The node can still be toggled by its parent
355
+ */
356
+ disableCheckbox?: boolean;
357
+ /**
358
+ * @zh 是否可选中
359
+ * @en Whether selectable
360
+ */
361
+ selectable?: boolean;
362
+ /**
363
+ * @zh 是否为叶子节点,配合 `loadMore` 判断是否需要异步加载子节点
364
+ * @en Whether it is a leaf, used with `loadMore` for lazy loading
365
+ */
366
+ isLeaf?: boolean;
367
+ /**
368
+ * @zh 节点前缀图标
369
+ * @en Node prefix icon
370
+ */
371
+ icon?: RenderFunction;
372
+ [other: string]: any;
373
+ }
374
+
375
+ type TreeSelectFieldNames = FieldString<TreeSelectNodeData>;
376
+
377
+ interface TreeSelectLabelValue {
378
+ /**
379
+ * @zh 选中的键值
380
+ * @en Selected key
381
+ */
382
+ value: TreeSelectKey;
383
+ /**
384
+ * @zh 选中的标题
385
+ * @en Selected title
386
+ */
387
+ label: string;
388
+ /**
389
+ * @zh 节点原始数据
390
+ * @en Raw node data
391
+ */
392
+ raw?: TreeSelectNodeData;
393
+ }
394
+
395
+ type TreeSelectValue = TreeSelectKey | TreeSelectLabelValue;
396
+
397
+ type TreeSelectFilterNode = (inputValue: string, node: TreeSelectNodeData) => boolean;
398
+
399
+ type TreeSelectSelectable = boolean | 'leaf' | ((node: TreeSelectNodeData, info: {
400
+ isLeaf: boolean;
401
+ level: number;
402
+ }) => boolean);
403
+
404
+ interface TreeSelectInstance {
405
+ /** 聚焦默认触发器 */
406
+ focus: () => void;
407
+ /** 失焦默认触发器 */
408
+ blur: () => void;
409
+ /** 展开 / 收起全部可展开节点,默认展开 */
410
+ expandAll: (expanded?: boolean) => void;
411
+ /** 全选 / 清空勾选,仅勾选模式生效,默认全选 */
412
+ checkAll: (checked?: boolean) => void;
413
+ }
414
+
415
+ interface TreeSelectProps {
416
+ modelValue?: TreeSelectValue | TreeSelectValue[];
417
+ defaultValue?: TreeSelectValue | TreeSelectValue[];
418
+ multiple?: boolean;
419
+ treeCheckable?: boolean;
420
+ treeCheckStrictly?: boolean;
421
+ checkedStrategy?: 'all' | 'parent' | 'child';
422
+ data?: TreeSelectNodeData[];
423
+ fieldNames?: TreeSelectFieldNames;
424
+ labelInValue?: boolean;
425
+ selectable?: TreeSelectSelectable;
426
+ allowSearch?: boolean | {
427
+ retainInputValue?: boolean;
428
+ };
429
+ allowClear?: boolean;
430
+ filterTreeNode?: boolean | TreeSelectFilterNode;
431
+ searchDelay?: number;
432
+ inputValue?: string;
433
+ defaultInputValue?: string;
434
+ size?: Size;
435
+ placeholder?: string;
436
+ loading?: boolean;
437
+ disabled?: boolean;
438
+ error?: boolean;
439
+ bordered?: boolean;
440
+ maxTagCount?: number;
441
+ tagNowrap?: boolean;
442
+ popupVisible?: boolean;
443
+ defaultPopupVisible?: boolean;
444
+ unmountOnClose?: boolean;
445
+ popupContainer?: string | HTMLElement;
446
+ triggerProps?: TriggerProps;
447
+ defaultExpandAll?: boolean;
448
+ expandedKeys?: TreeSelectKey[];
449
+ defaultExpandedKeys?: TreeSelectKey[];
450
+ autoExpandParent?: boolean;
451
+ showLine?: boolean;
452
+ blockNode?: boolean;
453
+ virtualListProps?: VirtualListProps;
454
+ scrollbar?: boolean | ScrollbarProps;
455
+ maxHeight?: number | string;
456
+ loadMore?: (node: TreeSelectNodeData) => Promise<void>;
457
+ fallbackOption?: boolean | ((value: TreeSelectKey) => TreeSelectNodeData);
458
+ formatLabel?: (data: TreeSelectNodeData) => string;
459
+ showHeaderOnEmpty?: boolean;
460
+ showFooterOnEmpty?: boolean;
461
+ }
462
+
463
+ interface TreeSelectNodeInfo {
464
+ key: string;
465
+ value: TreeSelectKey;
466
+ title: string;
467
+ raw: TreeSelectNodeData;
468
+ level: number;
469
+ index: number;
470
+ parentKey?: string;
471
+ pathKeys: string[];
472
+ childrenKeys: string[];
473
+ siblingIndex: number;
474
+ siblingCount: number;
475
+ isLeaf: boolean;
476
+ disabled: boolean;
477
+ checkable: boolean;
478
+ disableCheckbox: boolean;
479
+ selectable: boolean;
480
+ loading: boolean;
481
+ }
482
+
483
+ interface TreeSelectNodeSlotProps {
484
+ node: TreeSelectNodeData;
485
+ value: TreeSelectKey;
486
+ title: string;
487
+ level: number;
488
+ checked: boolean;
489
+ halfChecked: boolean;
490
+ selected: boolean;
491
+ expanded: boolean;
492
+ disabled: boolean;
493
+ isLeaf: boolean;
494
+ }
495
+ ```
496
+
497
+
498
+ 返回 [TreeSelect 用法](./tree-select.md)。