ep-craft 0.1.42 → 0.2.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 (236) hide show
  1. package/dist-ai/components/affix.json +152 -0
  2. package/dist-ai/components/affix.md +73 -0
  3. package/dist-ai/components/alert.json +186 -0
  4. package/dist-ai/components/alert.md +89 -0
  5. package/dist-ai/components/anchor-link.json +102 -0
  6. package/dist-ai/components/anchor-link.md +67 -0
  7. package/dist-ai/components/anchor.json +179 -0
  8. package/dist-ai/components/anchor.md +87 -0
  9. package/dist-ai/components/aside.json +87 -0
  10. package/dist-ai/components/aside.md +63 -0
  11. package/dist-ai/components/autocomplete.json +613 -0
  12. package/dist-ai/components/autocomplete.md +140 -0
  13. package/dist-ai/components/avatar.json +163 -0
  14. package/dist-ai/components/avatar.md +83 -0
  15. package/dist-ai/components/backtop.json +118 -0
  16. package/dist-ai/components/backtop.md +66 -0
  17. package/dist-ai/components/badge.json +186 -0
  18. package/dist-ai/components/badge.md +85 -0
  19. package/dist-ai/components/breadcrumb-item.json +97 -0
  20. package/dist-ai/components/breadcrumb-item.md +65 -0
  21. package/dist-ai/components/breadcrumb.json +100 -0
  22. package/dist-ai/components/breadcrumb.md +68 -0
  23. package/dist-ai/components/button-group.json +123 -0
  24. package/dist-ai/components/button-group.md +65 -0
  25. package/dist-ai/components/button.json +349 -0
  26. package/dist-ai/components/button.md +124 -0
  27. package/dist-ai/components/calendar.json +148 -0
  28. package/dist-ai/components/calendar.md +74 -0
  29. package/dist-ai/components/card.json +168 -0
  30. package/dist-ai/components/card.md +87 -0
  31. package/dist-ai/components/carousel-item.json +99 -0
  32. package/dist-ai/components/carousel-item.md +68 -0
  33. package/dist-ai/components/carousel.json +245 -0
  34. package/dist-ai/components/carousel.md +97 -0
  35. package/dist-ai/components/cascader-panel.json +242 -0
  36. package/dist-ai/components/cascader-panel.md +108 -0
  37. package/dist-ai/components/cascader.json +531 -0
  38. package/dist-ai/components/cascader.md +146 -0
  39. package/dist-ai/components/check-tag.json +133 -0
  40. package/dist-ai/components/check-tag.md +72 -0
  41. package/dist-ai/components/checkbox-button.json +279 -0
  42. package/dist-ai/components/checkbox-button.md +94 -0
  43. package/dist-ai/components/checkbox-group.json +236 -0
  44. package/dist-ai/components/checkbox-group.md +90 -0
  45. package/dist-ai/components/checkbox.json +278 -0
  46. package/dist-ai/components/checkbox.md +91 -0
  47. package/dist-ai/components/col.json +168 -0
  48. package/dist-ai/components/col.md +72 -0
  49. package/dist-ai/components/collapse-item.json +133 -0
  50. package/dist-ai/components/collapse-item.md +75 -0
  51. package/dist-ai/components/collapse-transition.json +75 -0
  52. package/dist-ai/components/collapse-transition.md +59 -0
  53. package/dist-ai/components/collapse.json +129 -0
  54. package/dist-ai/components/collapse.md +76 -0
  55. package/dist-ai/components/color-picker.json +280 -0
  56. package/dist-ai/components/color-picker.md +85 -0
  57. package/dist-ai/components/config-provider.json +222 -0
  58. package/dist-ai/components/config-provider.md +76 -0
  59. package/dist-ai/components/container.json +95 -0
  60. package/dist-ai/components/container.md +70 -0
  61. package/dist-ai/components/countdown.json +155 -0
  62. package/dist-ai/components/countdown.md +73 -0
  63. package/dist-ai/components/date-picker-panel.json +346 -0
  64. package/dist-ai/components/date-picker-panel.md +91 -0
  65. package/dist-ai/components/date-picker.json +574 -0
  66. package/dist-ai/components/date-picker.md +153 -0
  67. package/dist-ai/components/descriptions-item.json +175 -0
  68. package/dist-ai/components/descriptions-item.md +73 -0
  69. package/dist-ai/components/descriptions.json +171 -0
  70. package/dist-ai/components/descriptions.md +78 -0
  71. package/dist-ai/components/dialog.json +403 -0
  72. package/dist-ai/components/dialog.md +108 -0
  73. package/dist-ai/components/divider.json +102 -0
  74. package/dist-ai/components/divider.md +59 -0
  75. package/dist-ai/components/drawer.json +468 -0
  76. package/dist-ai/components/drawer.md +115 -0
  77. package/dist-ai/components/dropdown-item.json +156 -0
  78. package/dist-ai/components/dropdown-item.md +84 -0
  79. package/dist-ai/components/dropdown-menu.json +92 -0
  80. package/dist-ai/components/dropdown-menu.md +70 -0
  81. package/dist-ai/components/dropdown.json +374 -0
  82. package/dist-ai/components/dropdown.md +108 -0
  83. package/dist-ai/components/empty.json +116 -0
  84. package/dist-ai/components/empty.md +62 -0
  85. package/dist-ai/components/footer.json +86 -0
  86. package/dist-ai/components/footer.md +63 -0
  87. package/dist-ai/components/form-item.json +242 -0
  88. package/dist-ai/components/form-item.md +93 -0
  89. package/dist-ai/components/form.json +277 -0
  90. package/dist-ai/components/form.md +117 -0
  91. package/dist-ai/components/header.json +86 -0
  92. package/dist-ai/components/header.md +63 -0
  93. package/dist-ai/components/icon.json +95 -0
  94. package/dist-ai/components/icon.md +61 -0
  95. package/dist-ai/components/image-viewer.json +235 -0
  96. package/dist-ai/components/image-viewer.md +88 -0
  97. package/dist-ai/components/image.json +299 -0
  98. package/dist-ai/components/image.md +96 -0
  99. package/dist-ai/components/input-number.json +370 -0
  100. package/dist-ai/components/input-number.md +127 -0
  101. package/dist-ai/components/input.json +545 -0
  102. package/dist-ai/components/input.md +166 -0
  103. package/dist-ai/components/link.json +162 -0
  104. package/dist-ai/components/link.md +72 -0
  105. package/dist-ai/components/main.json +77 -0
  106. package/dist-ai/components/main.md +58 -0
  107. package/dist-ai/components/mention.json +598 -0
  108. package/dist-ai/components/mention.md +136 -0
  109. package/dist-ai/components/menu-item-group.json +101 -0
  110. package/dist-ai/components/menu-item-group.md +69 -0
  111. package/dist-ai/components/menu-item.json +131 -0
  112. package/dist-ai/components/menu-item.md +76 -0
  113. package/dist-ai/components/menu.json +314 -0
  114. package/dist-ai/components/menu.md +104 -0
  115. package/dist-ai/components/option-group.json +113 -0
  116. package/dist-ai/components/option-group.md +79 -0
  117. package/dist-ai/components/option.json +122 -0
  118. package/dist-ai/components/option.md +70 -0
  119. package/dist-ai/components/page-header.json +131 -0
  120. package/dist-ai/components/page-header.md +70 -0
  121. package/dist-ai/components/pagination.json +325 -0
  122. package/dist-ai/components/pagination.md +115 -0
  123. package/dist-ai/components/popconfirm.json +240 -0
  124. package/dist-ai/components/popconfirm.md +89 -0
  125. package/dist-ai/components/popover.json +351 -0
  126. package/dist-ai/components/popover.md +99 -0
  127. package/dist-ai/components/popper.json +93 -0
  128. package/dist-ai/components/popper.md +66 -0
  129. package/dist-ai/components/progress.json +219 -0
  130. package/dist-ai/components/progress.md +74 -0
  131. package/dist-ai/components/radio-button.json +142 -0
  132. package/dist-ai/components/radio-button.md +76 -0
  133. package/dist-ai/components/radio-group.json +219 -0
  134. package/dist-ai/components/radio-group.md +88 -0
  135. package/dist-ai/components/radio.json +177 -0
  136. package/dist-ai/components/radio.md +83 -0
  137. package/dist-ai/components/rate.json +286 -0
  138. package/dist-ai/components/rate.md +83 -0
  139. package/dist-ai/components/result.json +118 -0
  140. package/dist-ai/components/result.md +66 -0
  141. package/dist-ai/components/row.json +115 -0
  142. package/dist-ai/components/row.md +68 -0
  143. package/dist-ai/components/scrollbar.json +280 -0
  144. package/dist-ai/components/scrollbar.md +89 -0
  145. package/dist-ai/components/segmented.json +204 -0
  146. package/dist-ai/components/segmented.md +81 -0
  147. package/dist-ai/components/select-v2.json +729 -0
  148. package/dist-ai/components/select-v2.md +193 -0
  149. package/dist-ai/components/select.json +697 -0
  150. package/dist-ai/components/select.md +188 -0
  151. package/dist-ai/components/skeleton-item.json +80 -0
  152. package/dist-ai/components/skeleton-item.md +57 -0
  153. package/dist-ai/components/skeleton.json +134 -0
  154. package/dist-ai/components/skeleton.md +65 -0
  155. package/dist-ai/components/slider.json +326 -0
  156. package/dist-ai/components/slider.md +88 -0
  157. package/dist-ai/components/space.json +178 -0
  158. package/dist-ai/components/space.md +73 -0
  159. package/dist-ai/components/statistic.json +167 -0
  160. package/dist-ai/components/statistic.md +66 -0
  161. package/dist-ai/components/step.json +124 -0
  162. package/dist-ai/components/step.md +69 -0
  163. package/dist-ai/components/steps.json +157 -0
  164. package/dist-ai/components/steps.md +79 -0
  165. package/dist-ai/components/sub-menu.json +211 -0
  166. package/dist-ai/components/sub-menu.md +88 -0
  167. package/dist-ai/components/switch.json +292 -0
  168. package/dist-ai/components/switch.md +88 -0
  169. package/dist-ai/components/tab-pane.json +137 -0
  170. package/dist-ai/components/tab-pane.md +72 -0
  171. package/dist-ai/components/table-column.json +368 -0
  172. package/dist-ai/components/table-column.md +103 -0
  173. package/dist-ai/components/table-v2.json +486 -0
  174. package/dist-ai/components/table-v2.md +123 -0
  175. package/dist-ai/components/table.json +734 -0
  176. package/dist-ai/components/table.md +205 -0
  177. package/dist-ai/components/tabs.json +231 -0
  178. package/dist-ai/components/tabs.md +127 -0
  179. package/dist-ai/components/tag.json +205 -0
  180. package/dist-ai/components/tag.md +105 -0
  181. package/dist-ai/components/text.json +143 -0
  182. package/dist-ai/components/text.md +66 -0
  183. package/dist-ai/components/time-picker.json +555 -0
  184. package/dist-ai/components/time-picker.md +123 -0
  185. package/dist-ai/components/time-select.json +321 -0
  186. package/dist-ai/components/time-select.md +93 -0
  187. package/dist-ai/components/timeline-item.json +186 -0
  188. package/dist-ai/components/timeline-item.md +78 -0
  189. package/dist-ai/components/timeline.json +99 -0
  190. package/dist-ai/components/timeline.md +65 -0
  191. package/dist-ai/components/tooltip.json +599 -0
  192. package/dist-ai/components/tooltip.md +137 -0
  193. package/dist-ai/components/tour-step.json +219 -0
  194. package/dist-ai/components/tour-step.md +88 -0
  195. package/dist-ai/components/tour.json +258 -0
  196. package/dist-ai/components/tour.md +96 -0
  197. package/dist-ai/components/transfer.json +275 -0
  198. package/dist-ai/components/transfer.md +95 -0
  199. package/dist-ai/components/tree-select.json +945 -0
  200. package/dist-ai/components/tree-select.md +181 -0
  201. package/dist-ai/components/tree-v2.json +395 -0
  202. package/dist-ai/components/tree-v2.md +113 -0
  203. package/dist-ai/components/tree.json +485 -0
  204. package/dist-ai/components/tree.md +131 -0
  205. package/dist-ai/components/upload.json +382 -0
  206. package/dist-ai/components/upload.md +130 -0
  207. package/dist-ai/components/watermark.json +157 -0
  208. package/dist-ai/components/watermark.md +66 -0
  209. package/dist-ai/directives/click-outside.json +61 -0
  210. package/dist-ai/directives/click-outside.md +50 -0
  211. package/dist-ai/directives/infinite-scroll.json +83 -0
  212. package/dist-ai/directives/infinite-scroll.md +62 -0
  213. package/dist-ai/directives/loading.json +89 -0
  214. package/dist-ai/directives/loading.md +69 -0
  215. package/dist-ai/directives/mousewheel.json +54 -0
  216. package/dist-ai/directives/mousewheel.md +48 -0
  217. package/dist-ai/directives/repeat-click.json +68 -0
  218. package/dist-ai/directives/repeat-click.md +49 -0
  219. package/dist-ai/directives/trap-focus.json +46 -0
  220. package/dist-ai/directives/trap-focus.md +46 -0
  221. package/dist-ai/icons.json +1 -0
  222. package/dist-ai/index.json +1 -0
  223. package/dist-ai/llms.txt +170 -0
  224. package/dist-ai/manifest.json +26590 -0
  225. package/dist-ai/schema/manifest.schema.json +793 -0
  226. package/dist-ai/services/infinite-scroll.json +80 -0
  227. package/dist-ai/services/infinite-scroll.md +71 -0
  228. package/dist-ai/services/loading.json +108 -0
  229. package/dist-ai/services/loading.md +58 -0
  230. package/dist-ai/services/message-box.json +159 -0
  231. package/dist-ai/services/message-box.md +78 -0
  232. package/dist-ai/services/message.json +137 -0
  233. package/dist-ai/services/message.md +72 -0
  234. package/dist-ai/services/notification.json +136 -0
  235. package/dist-ai/services/notification.md +73 -0
  236. package/package.json +12 -2
@@ -0,0 +1,531 @@
1
+ {
2
+ "entry": {
3
+ "category": "form",
4
+ "events": [
5
+ {
6
+ "description": "绑定值变化时触发",
7
+ "name": "update:modelValue",
8
+ "params": "(value: CascaderValue | null)"
9
+ },
10
+ {
11
+ "description": "选中值变化时触发",
12
+ "name": "change",
13
+ "params": "(value: CascaderValue | null)"
14
+ },
15
+ {
16
+ "description": "聚焦时触发",
17
+ "name": "focus",
18
+ "params": "(evt: FocusEvent)"
19
+ },
20
+ {
21
+ "description": "失焦时触发",
22
+ "name": "blur",
23
+ "params": "(evt: FocusEvent)"
24
+ },
25
+ {
26
+ "description": "清空时触发",
27
+ "name": "clear",
28
+ "params": "—"
29
+ },
30
+ {
31
+ "description": "下拉框显示/隐藏时触发",
32
+ "name": "visibleChange",
33
+ "params": "(visible: boolean)"
34
+ },
35
+ {
36
+ "description": "展开节点变化时触发",
37
+ "name": "expandChange",
38
+ "params": "(value: CascaderValue)"
39
+ },
40
+ {
41
+ "description": "移除标签时触发",
42
+ "name": "removeTag",
43
+ "params": "(value: CascaderNode[\"valueByOption\"])"
44
+ }
45
+ ],
46
+ "exampleOmittedReason": null,
47
+ "examples": [
48
+ {
49
+ "code": "<script setup lang=\"ts\">\nimport { ref } from 'vue'\nimport { EpCascader } from 'ep-craft'\n\nconst value = ref([])\nconst options = [\n {\n value: 'zhejiang',\n label: '浙江省',\n children: [\n { value: 'hangzhou', label: '杭州市' },\n { value: 'ningbo', label: '宁波市' },\n ],\n },\n {\n value: 'jiangsu',\n label: '江苏省',\n children: [{ value: 'nanjing', label: '南京市' }],\n },\n]\n</script>\n\n<template>\n <ep-cascader v-model=\"value\" :options=\"options\" placeholder=\"请选择地区\" />\n</template>",
50
+ "id": "cascader-1",
51
+ "language": "vue",
52
+ "title": "级联选择"
53
+ }
54
+ ],
55
+ "exposes": [
56
+ {
57
+ "description": "获取当前选中的节点,参数 leafOnly 为是否仅返回叶子节点",
58
+ "name": "getCheckedNodes",
59
+ "type": "(leafOnly?: boolean) => CascaderNode[]"
60
+ },
61
+ {
62
+ "description": "级联面板实例",
63
+ "name": "cascaderPanelRef",
64
+ "type": "Ref<CascaderPanelInstance | undefined>"
65
+ },
66
+ {
67
+ "description": "切换下拉框显示状态",
68
+ "name": "togglePopperVisible",
69
+ "type": "(visible?: boolean) => void"
70
+ },
71
+ {
72
+ "description": "下拉框内容元素引用",
73
+ "name": "contentRef",
74
+ "type": "Ref<HTMLElement | undefined>"
75
+ },
76
+ {
77
+ "description": "当前选中值的展示文本",
78
+ "name": "presentText",
79
+ "type": "ComputedRef<string>"
80
+ }
81
+ ],
82
+ "hot": false,
83
+ "id": "component:cascader",
84
+ "keywords": {
85
+ "en": [
86
+ "cascader",
87
+ "cascade",
88
+ "form"
89
+ ],
90
+ "zh": [
91
+ "级联选择器",
92
+ "表单"
93
+ ]
94
+ },
95
+ "kind": "component",
96
+ "name": "EpCascader",
97
+ "nonUseCases": [
98
+ "仅展示静态文本或只读数据时"
99
+ ],
100
+ "props": [
101
+ {
102
+ "alias": null,
103
+ "defaultText": null,
104
+ "description": "输入框尺寸",
105
+ "hasDefault": false,
106
+ "name": "size",
107
+ "required": false,
108
+ "type": "'large' | 'default' | 'small'"
109
+ },
110
+ {
111
+ "alias": null,
112
+ "defaultText": null,
113
+ "description": "输入框占位符",
114
+ "hasDefault": false,
115
+ "name": "placeholder",
116
+ "required": false,
117
+ "type": "string"
118
+ },
119
+ {
120
+ "alias": null,
121
+ "defaultText": null,
122
+ "description": "是否禁用",
123
+ "hasDefault": true,
124
+ "name": "disabled",
125
+ "required": false,
126
+ "type": "boolean"
127
+ },
128
+ {
129
+ "alias": null,
130
+ "defaultText": "false",
131
+ "description": "是否可清空",
132
+ "hasDefault": false,
133
+ "name": "clearable",
134
+ "required": false,
135
+ "type": "boolean"
136
+ },
137
+ {
138
+ "alias": null,
139
+ "defaultText": "CircleClose",
140
+ "description": "自定义清空图标",
141
+ "hasDefault": true,
142
+ "name": "clearIcon",
143
+ "required": false,
144
+ "type": "string | Component"
145
+ },
146
+ {
147
+ "alias": null,
148
+ "defaultText": "false",
149
+ "description": "是否可搜索选项",
150
+ "hasDefault": false,
151
+ "name": "filterable",
152
+ "required": false,
153
+ "type": "boolean"
154
+ },
155
+ {
156
+ "alias": null,
157
+ "defaultText": null,
158
+ "description": "自定义搜索逻辑,返回是否命中",
159
+ "hasDefault": true,
160
+ "name": "filterMethod",
161
+ "required": false,
162
+ "type": "(node: CascaderNode, keyword: string) => boolean"
163
+ },
164
+ {
165
+ "alias": null,
166
+ "defaultText": "' / '",
167
+ "description": "选项标签分隔符",
168
+ "hasDefault": true,
169
+ "name": "separator",
170
+ "required": false,
171
+ "type": "string"
172
+ },
173
+ {
174
+ "alias": null,
175
+ "defaultText": "true",
176
+ "description": "输入框是否显示选中值的完整路径",
177
+ "hasDefault": true,
178
+ "name": "showAllLevels",
179
+ "required": false,
180
+ "type": "boolean"
181
+ },
182
+ {
183
+ "alias": null,
184
+ "defaultText": "false",
185
+ "description": "多选时是否折叠标签",
186
+ "hasDefault": false,
187
+ "name": "collapseTags",
188
+ "required": false,
189
+ "type": "boolean"
190
+ },
191
+ {
192
+ "alias": null,
193
+ "defaultText": "1",
194
+ "description": "折叠时最多展示的标签数,需开启 collapse-tags",
195
+ "hasDefault": true,
196
+ "name": "maxCollapseTags",
197
+ "required": false,
198
+ "type": "number"
199
+ },
200
+ {
201
+ "alias": null,
202
+ "defaultText": "false",
203
+ "description": "折叠标签悬停时是否展示全部标签",
204
+ "hasDefault": false,
205
+ "name": "collapseTagsTooltip",
206
+ "required": false,
207
+ "type": "boolean"
208
+ },
209
+ {
210
+ "alias": null,
211
+ "defaultText": null,
212
+ "description": "折叠标签提示框最大高度",
213
+ "hasDefault": false,
214
+ "name": "maxCollapseTagsTooltipHeight",
215
+ "required": false,
216
+ "type": "string | number"
217
+ },
218
+ {
219
+ "alias": null,
220
+ "defaultText": "300",
221
+ "description": "搜索输入防抖延迟,单位 ms",
222
+ "hasDefault": true,
223
+ "name": "debounce",
224
+ "required": false,
225
+ "type": "number"
226
+ },
227
+ {
228
+ "alias": null,
229
+ "defaultText": null,
230
+ "description": "搜索前的钩子,返回 false 或 reject 则中止搜索",
231
+ "hasDefault": true,
232
+ "name": "beforeFilter",
233
+ "required": false,
234
+ "type": "(value: string) => boolean | Promise<any>"
235
+ },
236
+ {
237
+ "alias": null,
238
+ "defaultText": "bottom-start",
239
+ "description": "下拉框位置",
240
+ "hasDefault": true,
241
+ "name": "placement",
242
+ "required": false,
243
+ "type": "string"
244
+ },
245
+ {
246
+ "alias": null,
247
+ "defaultText": "['bottom-start', 'bottom', 'top-start', 'top', 'right', 'left']",
248
+ "description": "下拉框备选位置",
249
+ "hasDefault": true,
250
+ "name": "fallbackPlacements",
251
+ "required": false,
252
+ "type": "string[]"
253
+ },
254
+ {
255
+ "alias": null,
256
+ "defaultText": null,
257
+ "description": "下拉框自定义类名",
258
+ "hasDefault": false,
259
+ "name": "popperClass",
260
+ "required": false,
261
+ "type": "string | object | array"
262
+ },
263
+ {
264
+ "alias": null,
265
+ "defaultText": null,
266
+ "description": "下拉框自定义样式",
267
+ "hasDefault": true,
268
+ "name": "popperStyle",
269
+ "required": false,
270
+ "type": "StyleValue"
271
+ },
272
+ {
273
+ "alias": null,
274
+ "defaultText": null,
275
+ "description": "是否将下拉框 teleport 到 body",
276
+ "hasDefault": true,
277
+ "name": "teleported",
278
+ "required": false,
279
+ "type": "boolean"
280
+ },
281
+ {
282
+ "alias": null,
283
+ "defaultText": "light",
284
+ "description": "提示框主题",
285
+ "hasDefault": true,
286
+ "name": "effect",
287
+ "required": false,
288
+ "type": "'dark' | 'light'"
289
+ },
290
+ {
291
+ "alias": null,
292
+ "defaultText": "info",
293
+ "description": "标签类型",
294
+ "hasDefault": true,
295
+ "name": "tagType",
296
+ "required": false,
297
+ "type": "'primary' | 'success' | 'info' | 'warning' | 'danger'"
298
+ },
299
+ {
300
+ "alias": null,
301
+ "defaultText": "light",
302
+ "description": "标签主题",
303
+ "hasDefault": true,
304
+ "name": "tagEffect",
305
+ "required": false,
306
+ "type": "'light' | 'dark' | 'plain'"
307
+ },
308
+ {
309
+ "alias": null,
310
+ "defaultText": "true",
311
+ "description": "是否触发表单校验",
312
+ "hasDefault": true,
313
+ "name": "validateEvent",
314
+ "required": false,
315
+ "type": "boolean"
316
+ },
317
+ {
318
+ "alias": null,
319
+ "defaultText": "true",
320
+ "description": "下拉框未激活且该值为 false 时是否销毁",
321
+ "hasDefault": true,
322
+ "name": "persistent",
323
+ "required": false,
324
+ "type": "boolean"
325
+ },
326
+ {
327
+ "alias": null,
328
+ "defaultText": "child",
329
+ "description": "多选时展示父节点还是子节点",
330
+ "hasDefault": true,
331
+ "name": "showCheckedStrategy",
332
+ "required": false,
333
+ "type": "'parent' | 'child'"
334
+ },
335
+ {
336
+ "alias": null,
337
+ "defaultText": "false",
338
+ "description": "点击节点时是否勾选/取消勾选",
339
+ "hasDefault": false,
340
+ "name": "checkOnClickNode",
341
+ "required": false,
342
+ "type": "boolean"
343
+ },
344
+ {
345
+ "alias": null,
346
+ "defaultText": "true",
347
+ "description": "是否显示单选/多选前缀",
348
+ "hasDefault": true,
349
+ "name": "showPrefix",
350
+ "required": false,
351
+ "type": "boolean"
352
+ },
353
+ {
354
+ "alias": null,
355
+ "defaultText": "false",
356
+ "description": "下拉框宽度是否与输入框一致,传数字时为固定宽度",
357
+ "hasDefault": false,
358
+ "name": "fitInputWidth",
359
+ "required": false,
360
+ "type": "boolean | number"
361
+ },
362
+ {
363
+ "alias": "v-model",
364
+ "defaultText": null,
365
+ "description": "绑定值",
366
+ "hasDefault": false,
367
+ "name": "modelValue",
368
+ "required": false,
369
+ "type": "CascaderValue | null"
370
+ },
371
+ {
372
+ "alias": null,
373
+ "defaultText": "[]",
374
+ "description": "选项数据,`value` / `label` 键名可通过 `props` 自定义",
375
+ "hasDefault": true,
376
+ "name": "options",
377
+ "required": false,
378
+ "type": "CascaderOption[]"
379
+ },
380
+ {
381
+ "alias": null,
382
+ "defaultText": "{}",
383
+ "description": "配置选项,见下方 `props` 说明",
384
+ "hasDefault": true,
385
+ "name": "props",
386
+ "required": false,
387
+ "type": "CascaderProps"
388
+ },
389
+ {
390
+ "alias": null,
391
+ "defaultText": "false",
392
+ "description": "是否启用虚拟滚动",
393
+ "hasDefault": false,
394
+ "name": "virtualScroll",
395
+ "required": false,
396
+ "type": "boolean"
397
+ },
398
+ {
399
+ "alias": null,
400
+ "defaultText": "34",
401
+ "description": "虚拟滚动下的节点高度",
402
+ "hasDefault": true,
403
+ "name": "itemSize",
404
+ "required": false,
405
+ "type": "number"
406
+ },
407
+ {
408
+ "alias": null,
409
+ "defaultText": "204",
410
+ "description": "虚拟滚动下的菜单高度",
411
+ "hasDefault": true,
412
+ "name": "height",
413
+ "required": false,
414
+ "type": "number"
415
+ },
416
+ {
417
+ "alias": null,
418
+ "defaultText": null,
419
+ "description": "",
420
+ "hasDefault": false,
421
+ "name": "emptyValues",
422
+ "required": false,
423
+ "type": "unknown"
424
+ },
425
+ {
426
+ "alias": null,
427
+ "defaultText": null,
428
+ "description": "",
429
+ "hasDefault": true,
430
+ "name": "valueOnClear",
431
+ "required": false,
432
+ "type": "unknown"
433
+ }
434
+ ],
435
+ "related": [
436
+ "EpSelect",
437
+ "EpCascaderPanel"
438
+ ],
439
+ "relations": {
440
+ "children": [
441
+ "EpCascaderPanel"
442
+ ],
443
+ "combos": [
444
+ "EpCascader + EpCascaderPanel"
445
+ ],
446
+ "parents": [],
447
+ "requiredChildren": []
448
+ },
449
+ "slots": [
450
+ {
451
+ "description": "自定义节点标签内容,参数为 `{ node, data }`",
452
+ "name": "default"
453
+ },
454
+ {
455
+ "description": "自定义标签内容,参数为 `{ data, deleteTag }`",
456
+ "name": "tag"
457
+ },
458
+ {
459
+ "description": "无数据时的内容",
460
+ "name": "empty"
461
+ },
462
+ {
463
+ "description": "输入框前缀内容",
464
+ "name": "prefix"
465
+ },
466
+ {
467
+ "description": "自定义搜索建议项内容,参数为 `{ item }`",
468
+ "name": "suggestion-item"
469
+ },
470
+ {
471
+ "description": "下拉面板头部",
472
+ "name": "header"
473
+ },
474
+ {
475
+ "description": "下拉面板底部",
476
+ "name": "footer"
477
+ }
478
+ ],
479
+ "slug": "cascader",
480
+ "summary": "级联选择器,表单数据录入控件",
481
+ "tag": "ep-cascader",
482
+ "useCases": [
483
+ "表单中收集或编辑级联选择器数据",
484
+ "与 EpForm、EpFormItem 组合完成校验"
485
+ ],
486
+ "variants": [
487
+ {
488
+ "dimension": "size",
489
+ "values": [
490
+ "large",
491
+ "default",
492
+ "small"
493
+ ],
494
+ "when": "按容器空间与信息密度选择尺寸"
495
+ },
496
+ {
497
+ "dimension": "state",
498
+ "values": [
499
+ "disabled"
500
+ ],
501
+ "when": "通过布尔属性切换禁用、加载或选中状态"
502
+ },
503
+ {
504
+ "dimension": "effect",
505
+ "values": [
506
+ "dark",
507
+ "light"
508
+ ],
509
+ "when": "通过视觉修饰属性调整外观效果"
510
+ }
511
+ ],
512
+ "visual": {
513
+ "cssVars": [
514
+ "--el-border-color",
515
+ "--el-border-radius-base",
516
+ "--el-color-primary",
517
+ "--el-font-size-base"
518
+ ],
519
+ "density": "中等",
520
+ "shape": "矩形输入框",
521
+ "slotContent": [
522
+ "default:自定义节点标签内容,参数为 `{ node, data }`",
523
+ "tag:自定义标签内容,参数为 `{ data, deleteTag }`",
524
+ "empty:无数据时的内容"
525
+ ]
526
+ }
527
+ },
528
+ "generatedAt": "2026-11-03T03:09:12.050Z",
529
+ "libraryVersion": "0.2.0",
530
+ "schemaVersion": 1
531
+ }
@@ -0,0 +1,146 @@
1
+ # EpCascader
2
+
3
+ `ep-cascader` · form(表单) · `component:cascader`
4
+
5
+ ## 摘要
6
+
7
+ 级联选择器,表单数据录入控件
8
+
9
+ ## 适用场景
10
+
11
+ - 适用:表单中收集或编辑级联选择器数据
12
+ - 适用:与 EpForm、EpFormItem 组合完成校验
13
+ - 不适用:仅展示静态文本或只读数据时
14
+
15
+ ## 关键词
16
+
17
+ - 中文:级联选择器、表单
18
+ - English: cascader, cascade, form
19
+
20
+ ## 变体
21
+
22
+ - size: large/default/small(按容器空间与信息密度选择尺寸)
23
+ - state: disabled(通过布尔属性切换禁用、加载或选中状态)
24
+ - effect: dark/light(通过视觉修饰属性调整外观效果)
25
+
26
+ ## Props
27
+
28
+ - size ('large' | 'default' | 'small'):输入框尺寸
29
+ - placeholder (string):输入框占位符
30
+ - disabled (boolean,默认 见文档):是否禁用
31
+ - clearable (boolean):是否可清空
32
+ - clearIcon (string | Component,默认 CircleClose):自定义清空图标
33
+ - filterable (boolean):是否可搜索选项
34
+ - filterMethod ((node: CascaderNode, keyword: string) => boolean,默认 见文档):自定义搜索逻辑,返回是否命中
35
+ - separator (string,默认 ' / '):选项标签分隔符
36
+ - showAllLevels (boolean,默认 true):输入框是否显示选中值的完整路径
37
+ - collapseTags (boolean):多选时是否折叠标签
38
+ - maxCollapseTags (number,默认 1):折叠时最多展示的标签数,需开启 collapse-tags
39
+ - collapseTagsTooltip (boolean):折叠标签悬停时是否展示全部标签
40
+ - maxCollapseTagsTooltipHeight (string | number):折叠标签提示框最大高度
41
+ - debounce (number,默认 300):搜索输入防抖延迟,单位 ms
42
+ - beforeFilter ((value: string) => boolean | Promise<any>,默认 见文档):搜索前的钩子,返回 false 或 reject 则中止搜索
43
+ - placement (string,默认 bottom-start):下拉框位置
44
+ - fallbackPlacements (string[],默认 ['bottom-start', 'bottom', 'top-start', 'top', 'right', 'left']):下拉框备选位置
45
+ - popperClass (string | object | array):下拉框自定义类名
46
+ - popperStyle (StyleValue,默认 见文档):下拉框自定义样式
47
+ - teleported (boolean,默认 见文档):是否将下拉框 teleport 到 body
48
+ - effect ('dark' | 'light',默认 light):提示框主题
49
+ - tagType ('primary' | 'success' | 'info' | 'warning' | 'danger',默认 info):标签类型
50
+ - tagEffect ('light' | 'dark' | 'plain',默认 light):标签主题
51
+ - validateEvent (boolean,默认 true):是否触发表单校验
52
+ - persistent (boolean,默认 true):下拉框未激活且该值为 false 时是否销毁
53
+ - showCheckedStrategy ('parent' | 'child',默认 child):多选时展示父节点还是子节点
54
+ - checkOnClickNode (boolean):点击节点时是否勾选/取消勾选
55
+ - showPrefix (boolean,默认 true):是否显示单选/多选前缀
56
+ - fitInputWidth (boolean | number):下拉框宽度是否与输入框一致,传数字时为固定宽度
57
+ - modelValue(别名 v-model) (CascaderValue | null):绑定值
58
+ - options (CascaderOption[],默认 []):选项数据,`value` / `label` 键名可通过 `props` 自定义
59
+ - props (CascaderProps,默认 {}):配置选项,见下方 `props` 说明
60
+ - virtualScroll (boolean):是否启用虚拟滚动
61
+ - itemSize (number,默认 34):虚拟滚动下的节点高度
62
+ - height (number,默认 204):虚拟滚动下的菜单高度
63
+ - emptyValues (unknown)
64
+ - valueOnClear (unknown,默认 见文档)
65
+
66
+ ## Events
67
+
68
+ - update:modelValue((value: CascaderValue | null)):绑定值变化时触发
69
+ - change((value: CascaderValue | null)):选中值变化时触发
70
+ - focus((evt: FocusEvent)):聚焦时触发
71
+ - blur((evt: FocusEvent)):失焦时触发
72
+ - clear(—):清空时触发
73
+ - visibleChange((visible: boolean)):下拉框显示/隐藏时触发
74
+ - expandChange((value: CascaderValue)):展开节点变化时触发
75
+ - removeTag((value: CascaderNode["valueByOption"])):移除标签时触发
76
+
77
+ ## Slots
78
+
79
+ - default:自定义节点标签内容,参数为 `{ node, data }`
80
+ - tag:自定义标签内容,参数为 `{ data, deleteTag }`
81
+ - empty:无数据时的内容
82
+ - prefix:输入框前缀内容
83
+ - suggestion-item:自定义搜索建议项内容,参数为 `{ item }`
84
+ - header:下拉面板头部
85
+ - footer:下拉面板底部
86
+
87
+ ## Exposes
88
+
89
+ - getCheckedNodes((leafOnly?: boolean) => CascaderNode[]):获取当前选中的节点,参数 leafOnly 为是否仅返回叶子节点
90
+ - cascaderPanelRef(Ref<CascaderPanelInstance | undefined>):级联面板实例
91
+ - togglePopperVisible((visible?: boolean) => void):切换下拉框显示状态
92
+ - contentRef(Ref<HTMLElement | undefined>):下拉框内容元素引用
93
+ - presentText(ComputedRef<string>):当前选中值的展示文本
94
+
95
+ ## 关系
96
+
97
+ - 子级:EpCascaderPanel
98
+ - 常用组合:EpCascader + EpCascaderPanel
99
+
100
+ ## 视觉提示
101
+
102
+ - 形状:矩形输入框
103
+ - 密度:中等
104
+ - 插槽内容:default:自定义节点标签内容,参数为 `{ node, data }`;tag:自定义标签内容,参数为 `{ data, deleteTag }`;empty:无数据时的内容
105
+ - CSS 变量:--el-border-color、--el-border-radius-base、--el-color-primary、--el-font-size-base
106
+
107
+ ## 示例
108
+
109
+ ### 级联选择
110
+
111
+ ```vue
112
+ <script setup lang="ts">
113
+ import { ref } from 'vue'
114
+ import { EpCascader } from 'ep-craft'
115
+
116
+ const value = ref([])
117
+ const options = [
118
+ {
119
+ value: 'zhejiang',
120
+ label: '浙江省',
121
+ children: [
122
+ { value: 'hangzhou', label: '杭州市' },
123
+ { value: 'ningbo', label: '宁波市' },
124
+ ],
125
+ },
126
+ {
127
+ value: 'jiangsu',
128
+ label: '江苏省',
129
+ children: [{ value: 'nanjing', label: '南京市' }],
130
+ },
131
+ ]
132
+ </script>
133
+
134
+ <template>
135
+ <ep-cascader v-model="value" :options="options" placeholder="请选择地区" />
136
+ </template>
137
+ ```
138
+
139
+ ## 相关条目
140
+
141
+ - EpSelect
142
+ - EpCascaderPanel
143
+
144
+ ---
145
+
146
+ ep-craft 0.2.0