king-design-analyzer 2.1.9 → 2.2.1

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 (327) hide show
  1. package/components/actions.json +109 -0
  2. package/components/advancedset.json +128 -0
  3. package/components/affix.json +8 -0
  4. package/components/aksk.json +172 -0
  5. package/components/anchor.json +220 -0
  6. package/components/anchorlink.json +111 -0
  7. package/components/az.json +15 -2
  8. package/components/badge.json +8 -0
  9. package/components/billtypes.json +14 -2
  10. package/components/breadcrumb.json +9 -1
  11. package/components/button.json +192 -0
  12. package/components/buttonlink.json +74 -0
  13. package/components/card.json +14 -4
  14. package/components/cardcol.json +142 -0
  15. package/components/cardcols.json +121 -0
  16. package/components/cardcontent.json +20 -3
  17. package/components/cardtabs.json +172 -0
  18. package/components/carousel.json +7 -0
  19. package/components/cascader.json +576 -368
  20. package/components/checkbox.json +51 -4
  21. package/components/cidrinput.json +140 -0
  22. package/components/code.json +8 -1
  23. package/components/collapse.json +335 -341
  24. package/components/colorpicker.json +217 -0
  25. package/components/configprovider.json +96 -0
  26. package/components/copy.json +7 -0
  27. package/components/copyhover.json +111 -0
  28. package/components/copyrow.json +125 -0
  29. package/components/datepicker.json +656 -524
  30. package/components/description.json +98 -0
  31. package/components/descriptions.json +10 -3
  32. package/components/diagram.json +295 -0
  33. package/components/dialog.json +526 -455
  34. package/components/divider.json +9 -1
  35. package/components/drawer.json +603 -558
  36. package/components/dropdown.json +464 -384
  37. package/components/duration.json +125 -0
  38. package/components/editable.json +66 -0
  39. package/components/ellipsis.json +34 -1
  40. package/components/filtertablefieldsdialog.json +128 -0
  41. package/components/flex.json +152 -0
  42. package/components/form.json +143 -3
  43. package/components/formiteminput.json +214 -0
  44. package/components/formitemspinner.json +213 -0
  45. package/components/formitemswitch.json +185 -0
  46. package/components/formitemtableconfigs.json +210 -0
  47. package/components/grid.json +7 -0
  48. package/components/header.json +165 -0
  49. package/components/icon.json +13 -1
  50. package/components/icontooltip.json +19 -1
  51. package/components/input.json +196 -8
  52. package/components/instancelist.json +194 -0
  53. package/components/instancenum.json +196 -0
  54. package/components/ipinput.json +117 -0
  55. package/components/kspstatus.json +205 -0
  56. package/components/kvcode.json +120 -0
  57. package/components/layoutcontent.json +24 -3
  58. package/components/layoutlistcontent.json +157 -0
  59. package/components/layoutpermissioncontent.json +156 -0
  60. package/components/layoutstandardlist.json +276 -0
  61. package/components/layouttabs.json +168 -0
  62. package/components/lazymount.json +87 -0
  63. package/components/lazyteleport.json +119 -0
  64. package/components/menu.json +11 -3
  65. package/components/notification.json +351 -0
  66. package/components/pagination.json +12 -0
  67. package/components/paginationplus.json +30 -3
  68. package/components/password.json +121 -0
  69. package/components/popover.json +457 -437
  70. package/components/projects.json +129 -0
  71. package/components/protable.json +99 -8
  72. package/components/queuevisualrange.json +110 -0
  73. package/components/radio.json +82 -2
  74. package/components/rate.json +200 -0
  75. package/components/region.json +14 -2
  76. package/components/scrollselect.json +140 -0
  77. package/components/search.json +221 -0
  78. package/components/searchinput.json +132 -0
  79. package/components/searchitems.json +215 -0
  80. package/components/searchselect.json +195 -0
  81. package/components/select.json +749 -666
  82. package/components/sidebar.json +198 -0
  83. package/components/skeleton.json +234 -0
  84. package/components/slider.json +12 -2
  85. package/components/spin.json +10 -2
  86. package/components/spinner.json +419 -429
  87. package/components/split.json +263 -0
  88. package/components/sshkeys.json +138 -0
  89. package/components/status.json +60 -3
  90. package/components/steps.json +7 -0
  91. package/components/switch.json +12 -3
  92. package/components/table.json +24 -2
  93. package/components/tablecolumnid.json +14 -2
  94. package/components/tabs.json +14 -2
  95. package/components/tag.json +8 -5
  96. package/components/timeline.json +215 -0
  97. package/components/timepicker.json +147 -3
  98. package/components/timerange.json +262 -0
  99. package/components/tip.json +27 -0
  100. package/components/tooltip.json +492 -395
  101. package/components/tour.json +418 -372
  102. package/components/transfer.json +79 -8
  103. package/components/tree.json +28 -5
  104. package/components/treeselect.json +612 -475
  105. package/components/upload.json +474 -473
  106. package/components/vdialog.json +309 -0
  107. package/components/vdrawer.json +335 -0
  108. package/components/virtuallist.json +7 -0
  109. package/dist/ast/index.d.mts +65 -2
  110. package/dist/ast/index.d.ts +65 -2
  111. package/dist/ast/index.js +4 -3
  112. package/dist/ast/index.mjs +2 -1
  113. package/dist/chunk-4OTQAQ6J.mjs +341 -0
  114. package/dist/{chunk-F26GUCGG.js → chunk-4WXOYU2N.js} +32 -9
  115. package/dist/chunk-6HOIRUQB.mjs +409 -0
  116. package/dist/chunk-DHLWNT53.js +364 -0
  117. package/dist/{chunk-H2ET6MMM.mjs → chunk-IPJJMPOO.mjs} +155 -66
  118. package/dist/{chunk-WYSRJVX4.js → chunk-JJ6AB4ZH.js} +2 -2
  119. package/dist/{chunk-2W6OCG2S.js → chunk-JNRGUR3O.js} +155 -67
  120. package/dist/chunk-KF5YBEM5.js +143 -0
  121. package/dist/{chunk-OJOHB64C.mjs → chunk-LRTDTFFQ.mjs} +28 -5
  122. package/dist/{chunk-DSWKLUIX.mjs → chunk-NZL6T22V.mjs} +1 -1
  123. package/dist/chunk-QC6VTSA3.mjs +117 -0
  124. package/dist/chunk-V5N65MRP.js +411 -0
  125. package/dist/full/index.d.mts +2 -0
  126. package/dist/full/index.d.ts +2 -0
  127. package/dist/full/index.js +7 -6
  128. package/dist/full/index.mjs +5 -4
  129. package/dist/index.d.mts +1 -0
  130. package/dist/index.d.ts +1 -0
  131. package/dist/index.js +14 -13
  132. package/dist/index.mjs +6 -5
  133. package/dist/metadata/index.d.mts +38 -3
  134. package/dist/metadata/index.d.ts +38 -3
  135. package/dist/metadata/index.js +26 -16
  136. package/dist/metadata/index.mjs +26 -15
  137. package/dist/resolve-BsLBxlBi.d.mts +24 -0
  138. package/dist/resolve-BsLBxlBi.d.ts +24 -0
  139. package/dist/runtime/index.d.mts +2 -0
  140. package/dist/runtime/index.d.ts +2 -0
  141. package/dist/runtime/index.js +4 -4
  142. package/dist/runtime/index.mjs +2 -2
  143. package/dist/shared/index.d.mts +10 -0
  144. package/dist/shared/index.d.ts +10 -0
  145. package/dist/shared/index.js +23 -0
  146. package/dist/shared/index.mjs +2 -0
  147. package/dist/static/index.js +5 -5
  148. package/dist/static/index.mjs +2 -2
  149. package/docs_for_llm/actions.doc.md +87 -0
  150. package/docs_for_llm/advancedset.doc.md +98 -0
  151. package/docs_for_llm/affix.doc.md +20 -7
  152. package/docs_for_llm/aksk.doc.md +111 -0
  153. package/docs_for_llm/anchor.doc.md +155 -0
  154. package/docs_for_llm/anchorlink.doc.md +75 -0
  155. package/docs_for_llm/az.doc.md +17 -11
  156. package/docs_for_llm/badge.doc.md +11 -5
  157. package/docs_for_llm/billtypes.doc.md +17 -11
  158. package/docs_for_llm/breadcrumb.doc.md +80 -4
  159. package/docs_for_llm/button.doc.md +91 -18
  160. package/docs_for_llm/buttonlink.doc.md +64 -0
  161. package/docs_for_llm/card.doc.md +58 -8
  162. package/docs_for_llm/cardcol.doc.md +78 -0
  163. package/docs_for_llm/cardcols.doc.md +84 -0
  164. package/docs_for_llm/cardcontent.doc.md +31 -10
  165. package/docs_for_llm/cardtabs.doc.md +106 -0
  166. package/docs_for_llm/carousel.doc.md +79 -7
  167. package/docs_for_llm/cascader.doc.md +106 -23
  168. package/docs_for_llm/checkbox.doc.md +25 -13
  169. package/docs_for_llm/cidrinput.doc.md +83 -0
  170. package/docs_for_llm/code.doc.md +22 -11
  171. package/docs_for_llm/collapse.doc.md +147 -14
  172. package/docs_for_llm/colorpicker.doc.md +104 -0
  173. package/docs_for_llm/configprovider.doc.md +77 -0
  174. package/docs_for_llm/copy.doc.md +15 -13
  175. package/docs_for_llm/copyhover.doc.md +59 -0
  176. package/docs_for_llm/copyrow.doc.md +80 -0
  177. package/docs_for_llm/datepicker.doc.md +66 -35
  178. package/docs_for_llm/description.doc.md +75 -0
  179. package/docs_for_llm/descriptions.doc.md +122 -10
  180. package/docs_for_llm/diagram.doc.md +343 -0
  181. package/docs_for_llm/dialog.doc.md +97 -77
  182. package/docs_for_llm/divider.doc.md +14 -7
  183. package/docs_for_llm/drawer.doc.md +114 -69
  184. package/docs_for_llm/dropdown.doc.md +290 -22
  185. package/docs_for_llm/duration.doc.md +76 -0
  186. package/docs_for_llm/editable.doc.md +36 -14
  187. package/docs_for_llm/ellipsis.doc.md +10 -5
  188. package/docs_for_llm/filtertablefieldsdialog.doc.md +99 -0
  189. package/docs_for_llm/flex.doc.md +83 -0
  190. package/docs_for_llm/form.doc.md +196 -18
  191. package/docs_for_llm/formiteminput.doc.md +128 -0
  192. package/docs_for_llm/formitemspinner.doc.md +105 -0
  193. package/docs_for_llm/formitemswitch.doc.md +113 -0
  194. package/docs_for_llm/formitemtableconfigs.doc.md +95 -0
  195. package/docs_for_llm/grid.doc.md +78 -5
  196. package/docs_for_llm/header.doc.md +114 -0
  197. package/docs_for_llm/icon.doc.md +12 -8
  198. package/docs_for_llm/icontooltip.doc.md +121 -0
  199. package/docs_for_llm/input.doc.md +199 -41
  200. package/docs_for_llm/instancelist.doc.md +113 -0
  201. package/docs_for_llm/instancenum.doc.md +95 -0
  202. package/docs_for_llm/ipinput.doc.md +77 -0
  203. package/docs_for_llm/kspstatus.doc.md +82 -0
  204. package/docs_for_llm/kvcode.doc.md +76 -0
  205. package/docs_for_llm/layoutcontent.doc.md +54 -17
  206. package/docs_for_llm/layoutlistcontent.doc.md +168 -0
  207. package/docs_for_llm/layoutpermissioncontent.doc.md +93 -0
  208. package/docs_for_llm/layoutstandardlist.doc.md +129 -0
  209. package/docs_for_llm/layouttabs.doc.md +101 -0
  210. package/docs_for_llm/lazymount.doc.md +82 -0
  211. package/docs_for_llm/lazyteleport.doc.md +85 -0
  212. package/docs_for_llm/menu.doc.md +139 -14
  213. package/docs_for_llm/message.doc.md +93 -10
  214. package/docs_for_llm/notification.doc.md +214 -0
  215. package/docs_for_llm/pagination.doc.md +30 -17
  216. package/docs_for_llm/paginationplus.doc.md +31 -10
  217. package/docs_for_llm/password.doc.md +86 -0
  218. package/docs_for_llm/popover.doc.md +24 -55
  219. package/docs_for_llm/progress.doc.md +13 -10
  220. package/docs_for_llm/projects.doc.md +91 -0
  221. package/docs_for_llm/protable.doc.md +98 -15
  222. package/docs_for_llm/queuevisualrange.doc.md +78 -0
  223. package/docs_for_llm/radio.doc.md +23 -8
  224. package/docs_for_llm/rate.doc.md +127 -0
  225. package/docs_for_llm/region.doc.md +25 -13
  226. package/docs_for_llm/scrollselect.doc.md +90 -0
  227. package/docs_for_llm/search.doc.md +120 -0
  228. package/docs_for_llm/searchinput.doc.md +111 -0
  229. package/docs_for_llm/searchitems.doc.md +116 -0
  230. package/docs_for_llm/searchselect.doc.md +126 -0
  231. package/docs_for_llm/select.doc.md +208 -49
  232. package/docs_for_llm/sidebar.doc.md +133 -0
  233. package/docs_for_llm/skeleton.doc.md +152 -0
  234. package/docs_for_llm/slider.doc.md +42 -22
  235. package/docs_for_llm/spin.doc.md +18 -6
  236. package/docs_for_llm/spinner.doc.md +28 -18
  237. package/docs_for_llm/split.doc.md +170 -0
  238. package/docs_for_llm/sshkeys.doc.md +88 -0
  239. package/docs_for_llm/status.doc.md +14 -9
  240. package/docs_for_llm/steps.doc.md +81 -7
  241. package/docs_for_llm/switch.doc.md +32 -16
  242. package/docs_for_llm/table.doc.md +317 -55
  243. package/docs_for_llm/tablecolumnid.doc.md +36 -16
  244. package/docs_for_llm/tabs.doc.md +117 -12
  245. package/docs_for_llm/tag.doc.md +167 -15
  246. package/docs_for_llm/timeline.doc.md +187 -0
  247. package/docs_for_llm/timepicker.doc.md +74 -36
  248. package/docs_for_llm/timerange.doc.md +157 -0
  249. package/docs_for_llm/tip.doc.md +50 -11
  250. package/docs_for_llm/tooltip.doc.md +99 -27
  251. package/docs_for_llm/tour.doc.md +125 -28
  252. package/docs_for_llm/transfer.doc.md +99 -33
  253. package/docs_for_llm/tree.doc.md +129 -24
  254. package/docs_for_llm/treeselect.doc.md +101 -44
  255. package/docs_for_llm/upload.doc.md +63 -32
  256. package/docs_for_llm/useCRUD.doc.md +49 -0
  257. package/docs_for_llm/useCountdown.doc.md +43 -0
  258. package/docs_for_llm/useDetail.doc.md +48 -0
  259. package/docs_for_llm/useDialog.doc.md +46 -0
  260. package/docs_for_llm/useEntity.doc.md +45 -0
  261. package/docs_for_llm/useEventListener.doc.md +44 -0
  262. package/docs_for_llm/useFalseUntilTruthy.doc.md +41 -0
  263. package/docs_for_llm/useGetCopyAuthText.doc.md +35 -0
  264. package/docs_for_llm/useGetUserPermission.doc.md +43 -0
  265. package/docs_for_llm/useGroup.doc.md +48 -0
  266. package/docs_for_llm/useIdEntities.doc.md +48 -0
  267. package/docs_for_llm/useIdEntity.doc.md +103 -0
  268. package/docs_for_llm/useInterval.doc.md +43 -0
  269. package/docs_for_llm/useLayoutStandardList.doc.md +38 -0
  270. package/docs_for_llm/useMessage.doc.md +46 -0
  271. package/docs_for_llm/useModifyCache.doc.md +37 -0
  272. package/docs_for_llm/useOpenDialog.doc.md +41 -0
  273. package/docs_for_llm/usePagination.doc.md +60 -0
  274. package/docs_for_llm/usePersist.doc.md +54 -0
  275. package/docs_for_llm/usePoll.doc.md +41 -0
  276. package/docs_for_llm/useRoutePlus.doc.md +34 -0
  277. package/docs_for_llm/useRouterPlus.doc.md +34 -0
  278. package/docs_for_llm/useSearch.doc.md +68 -0
  279. package/docs_for_llm/useShell.doc.md +43 -0
  280. package/docs_for_llm/useSkip.doc.md +41 -0
  281. package/docs_for_llm/useStorageIdEntity.doc.md +46 -0
  282. package/docs_for_llm/useStore.doc.md +34 -0
  283. package/docs_for_llm/useTable.doc.md +57 -0
  284. package/docs_for_llm/useTableGroup.doc.md +47 -0
  285. package/docs_for_llm/useTableSort.doc.md +40 -0
  286. package/docs_for_llm/useToState.doc.md +112 -0
  287. package/docs_for_llm/useUser.doc.md +38 -0
  288. package/docs_for_llm/useValidForm.doc.md +41 -0
  289. package/docs_for_llm/vdialog.doc.md +154 -0
  290. package/docs_for_llm/vdrawer.doc.md +148 -0
  291. package/docs_for_llm/virtuallist.doc.md +157 -3
  292. package/hooks/useCRUD.json +61 -0
  293. package/hooks/useCountdown.json +49 -0
  294. package/hooks/useDetail.json +67 -0
  295. package/hooks/useDialog.json +49 -0
  296. package/hooks/useEntity.json +61 -0
  297. package/hooks/useEventListener.json +61 -0
  298. package/hooks/useFalseUntilTruthy.json +43 -0
  299. package/hooks/useGetCopyAuthText.json +36 -0
  300. package/hooks/useGetUserPermission.json +55 -0
  301. package/hooks/useGroup.json +49 -0
  302. package/hooks/useIdEntities.json +61 -0
  303. package/hooks/useInterval.json +55 -0
  304. package/hooks/useLayoutStandardList.json +36 -0
  305. package/hooks/useMessage.json +73 -0
  306. package/hooks/useModifyCache.json +36 -0
  307. package/hooks/useOpenDialog.json +43 -0
  308. package/hooks/usePagination.json +49 -0
  309. package/hooks/usePersist.json +61 -0
  310. package/hooks/usePoll.json +43 -0
  311. package/hooks/useRoutePlus.json +36 -0
  312. package/hooks/useRouterPlus.json +36 -0
  313. package/hooks/useSearch.json +56 -0
  314. package/hooks/useShell.json +49 -0
  315. package/hooks/useSkip.json +43 -0
  316. package/hooks/useStorageIdEntity.json +67 -0
  317. package/hooks/useStore.json +36 -0
  318. package/hooks/useTable.json +49 -0
  319. package/hooks/useTableGroup.json +43 -0
  320. package/hooks/useTableSort.json +43 -0
  321. package/hooks/useUser.json +36 -0
  322. package/hooks/useValidForm.json +43 -0
  323. package/package.json +14 -8
  324. package/dist/chunk-D3Y6FGWA.js +0 -153
  325. package/dist/chunk-HPAUCD5I.js +0 -156
  326. package/dist/chunk-L4DS3EXI.mjs +0 -133
  327. package/dist/chunk-NZ6TLWMD.mjs +0 -151
@@ -0,0 +1,343 @@
1
+ # 流程图 (Diagram)
2
+
3
+ 流程图组件,用于在画布中组织图形、连线和布局。支持节点选中、标签编辑以及多种布局方式,适合流程建模、拓扑展示和审批链路可视化场景。
4
+
5
+ **关键词**: diagram, 流程图, 拓扑图, graph, DTreeLayout, DFlowLayout
6
+
7
+ **使用场景**: 审批流建模、拓扑结构展示、流程状态可视化
8
+
9
+ ## 导入语句
10
+ ```typescript
11
+ import { Diagram, DRectangle, DCircle, DLine, DTreeLayout } from '@king-design/vue/components/diagram';
12
+ ```
13
+
14
+ ## 事件 (Events)
15
+ | 事件名 | Vue事件名 | 说明 | 回调参数 | 示例 |
16
+ | --- | --- | --- | --- | --- |
17
+ | labelChanged | `@labelChanged` | 节点标签修改后触发 | `cell: any, newLabel: string, oldLabel: string` | `<Diagram @labelChanged="handleLabelChanged"></Diagram>` |
18
+ | selectionChanged | `@selectionChanged` | 画布选中元素变化时触发 | `cells: any[]` | `<Diagram @selectionChanged="handleSelectionChanged"></Diagram>` |
19
+
20
+ ### 事件参数说明
21
+ **labelChanged**
22
+
23
+ | 参数 | 类型 | 必填 | 默认值 | 说明 |
24
+ | --- | --- | --- | --- | --- |
25
+ | cell | `any` | 是 | - | 发生变化的图元实例 |
26
+ | newLabel | `string` | 是 | - | 修改后的标签内容 |
27
+ | oldLabel | `string` | 是 | - | 修改前的标签内容 |
28
+
29
+ 事件处理示例:
30
+ ```typescript
31
+ const handleLabelChanged = (cell: any, newLabel: string, oldLabel: string) => {
32
+ console.log('label changed', oldLabel, '=>', newLabel);
33
+ };
34
+ ```
35
+
36
+ **selectionChanged**
37
+
38
+ | 参数 | 类型 | 必填 | 默认值 | 说明 |
39
+ | --- | --- | --- | --- | --- |
40
+ | cells | `any[]` | 是 | - | 当前选中的图元列表 |
41
+
42
+ 事件处理示例:
43
+ ```typescript
44
+ const handleSelectionChanged = (cells: any[]) => {
45
+ console.log('selected cells', cells.length);
46
+ };
47
+ ```
48
+
49
+ ## 插槽 (Slots)
50
+ | 插槽名 | 说明 | 模板写法 | 示例 |
51
+ | --- | --- | --- | --- |
52
+ | default | 流程图内容,通常放置布局组件、图形组件和连线组件 | `#default` | `<Diagram>
53
+ <DTreeLayout>
54
+ <DRectangle key="1" />
55
+ <DCircle key="2" />
56
+ <DLine from="1" to="2" />
57
+ </DTreeLayout>
58
+ </Diagram>` |
59
+
60
+ ### 插槽参数说明
61
+ **default**
62
+
63
+ - 参数结构: 无参数
64
+
65
+ ## 子组件 (Sub-Components)
66
+ ### DRectangle
67
+ 矩形节点,支持圆角、拖拽、选中和自定义内容。
68
+
69
+ #### 属性 (Props)
70
+ | 属性名 | 类型 | 说明 | 示例 |
71
+ | --- | --- | --- | --- |
72
+ | key | `string | number` | 节点唯一标识,供连线引用 | `<DRectangle key="1" />` |
73
+ | label | `string | number` | 节点标签 | `<DRectangle key="1" label="开始" />` |
74
+ | rounded | `number | string` | 圆角大小 | `<DRectangle key="1" :rounded="8" />` |
75
+
76
+ #### 组合示例
77
+ ##### 可选中节点
78
+ **场景**: 在画布中选中节点并联动侧边配置面板。
79
+
80
+ 监听选中变化,处理画布交互。
81
+
82
+ **命中的子组件 API**: 属性: key, label
83
+
84
+ ```vue
85
+ <script setup lang="ts">
86
+ import { Diagram, DRectangle, DLine, DFlowLayout } from '@king-design/vue/components/diagram';
87
+
88
+ const handleSelectionChanged = (cells: any[]) => {
89
+ console.log('当前选中数量', cells.length);
90
+ };
91
+ </script>
92
+ <template>
93
+ <Diagram @selectionChanged="handleSelectionChanged">
94
+ <DFlowLayout type="horizontal">
95
+ <DRectangle key="1" label="节点 A" selectable />
96
+ <DRectangle key="2" label="节点 B" selectable />
97
+ <DLine from="1" to="2" label="流转" />
98
+ </DFlowLayout>
99
+ </Diagram>
100
+ </template>
101
+ ```
102
+
103
+ ##### 基础树形流程图
104
+ **场景**: 快速搭建审批流或状态流转图。
105
+
106
+ 使用树形布局组织节点和连线。
107
+
108
+ **命中的子组件 API**: 属性: key, label
109
+
110
+ ```vue
111
+ <script setup lang="ts">
112
+ import { Diagram, DRectangle, DCircle, DLine, DTreeLayout } from '@king-design/vue/components/diagram';
113
+ </script>
114
+ <template>
115
+ <Diagram>
116
+ <DTreeLayout>
117
+ <DRectangle key="1" label="开始" />
118
+ <DCircle key="2" label="审核" />
119
+ <DCircle key="3" label="结束" />
120
+ <DLine from="1" to="2" />
121
+ <DLine from="2" to="3" />
122
+ </DTreeLayout>
123
+ </Diagram>
124
+ </template>
125
+ ```
126
+
127
+ ### DCircle
128
+ 圆形节点,适合展示起止节点或状态节点。
129
+
130
+ #### 属性 (Props)
131
+ | 属性名 | 类型 | 说明 | 示例 |
132
+ | --- | --- | --- | --- |
133
+ | key | `string | number` | 节点唯一标识 | `<DCircle key="2" />` |
134
+ | label | `string | number` | 节点标签 | `<DCircle key="2" label="结束" />` |
135
+
136
+ #### 组合示例
137
+ ##### 基础树形流程图
138
+ **场景**: 快速搭建审批流或状态流转图。
139
+
140
+ 使用树形布局组织节点和连线。
141
+
142
+ **命中的子组件 API**: 属性: key, label
143
+
144
+ ```vue
145
+ <script setup lang="ts">
146
+ import { Diagram, DRectangle, DCircle, DLine, DTreeLayout } from '@king-design/vue/components/diagram';
147
+ </script>
148
+ <template>
149
+ <Diagram>
150
+ <DTreeLayout>
151
+ <DRectangle key="1" label="开始" />
152
+ <DCircle key="2" label="审核" />
153
+ <DCircle key="3" label="结束" />
154
+ <DLine from="1" to="2" />
155
+ <DLine from="2" to="3" />
156
+ </DTreeLayout>
157
+ </Diagram>
158
+ </template>
159
+ ```
160
+
161
+ ### DLine
162
+ 节点之间的连线。
163
+
164
+ #### 属性 (Props)
165
+ | 属性名 | 类型 | 说明 | 示例 |
166
+ | --- | --- | --- | --- |
167
+ | from | `string | number` | 起始节点 key | `<DLine from="1" to="2" />` |
168
+ | to | `string | number` | 目标节点 key | `<DLine from="1" to="2" />` |
169
+ | label | `string` | 连线标签 | `<DLine from="1" to="2" label="通过" />` |
170
+
171
+ #### 组合示例
172
+ ##### 可选中节点
173
+ **场景**: 在画布中选中节点并联动侧边配置面板。
174
+
175
+ 监听选中变化,处理画布交互。
176
+
177
+ **命中的子组件 API**: 属性: from, to, label
178
+
179
+ ```vue
180
+ <script setup lang="ts">
181
+ import { Diagram, DRectangle, DLine, DFlowLayout } from '@king-design/vue/components/diagram';
182
+
183
+ const handleSelectionChanged = (cells: any[]) => {
184
+ console.log('当前选中数量', cells.length);
185
+ };
186
+ </script>
187
+ <template>
188
+ <Diagram @selectionChanged="handleSelectionChanged">
189
+ <DFlowLayout type="horizontal">
190
+ <DRectangle key="1" label="节点 A" selectable />
191
+ <DRectangle key="2" label="节点 B" selectable />
192
+ <DLine from="1" to="2" label="流转" />
193
+ </DFlowLayout>
194
+ </Diagram>
195
+ </template>
196
+ ```
197
+
198
+ ##### 基础树形流程图
199
+ **场景**: 快速搭建审批流或状态流转图。
200
+
201
+ 使用树形布局组织节点和连线。
202
+
203
+ **命中的子组件 API**: 属性: from, to
204
+
205
+ ```vue
206
+ <script setup lang="ts">
207
+ import { Diagram, DRectangle, DCircle, DLine, DTreeLayout } from '@king-design/vue/components/diagram';
208
+ </script>
209
+ <template>
210
+ <Diagram>
211
+ <DTreeLayout>
212
+ <DRectangle key="1" label="开始" />
213
+ <DCircle key="2" label="审核" />
214
+ <DCircle key="3" label="结束" />
215
+ <DLine from="1" to="2" />
216
+ <DLine from="2" to="3" />
217
+ </DTreeLayout>
218
+ </Diagram>
219
+ </template>
220
+ ```
221
+
222
+ ### DTreeLayout
223
+ 树形布局,适合组织审批流或层级关系图。
224
+
225
+ #### 属性 (Props)
226
+ | 属性名 | 类型 | 说明 | 示例 |
227
+ | --- | --- | --- | --- |
228
+ | type | `"horizontal" | "vertical"` | 布局方向 | `<DTreeLayout type="horizontal"></DTreeLayout>` |
229
+ | levelDistance | `number | string` | 层级之间的距离 | `<DTreeLayout :levelDistance="80"></DTreeLayout>` |
230
+
231
+ #### 组合示例
232
+ ##### 基础树形流程图
233
+ **场景**: 快速搭建审批流或状态流转图。
234
+
235
+ 使用树形布局组织节点和连线。
236
+
237
+ ```vue
238
+ <script setup lang="ts">
239
+ import { Diagram, DRectangle, DCircle, DLine, DTreeLayout } from '@king-design/vue/components/diagram';
240
+ </script>
241
+ <template>
242
+ <Diagram>
243
+ <DTreeLayout>
244
+ <DRectangle key="1" label="开始" />
245
+ <DCircle key="2" label="审核" />
246
+ <DCircle key="3" label="结束" />
247
+ <DLine from="1" to="2" />
248
+ <DLine from="2" to="3" />
249
+ </DTreeLayout>
250
+ </Diagram>
251
+ </template>
252
+ ```
253
+
254
+ ### DFlowLayout
255
+ 流式布局,适合横向或纵向流程图编排。
256
+
257
+ #### 属性 (Props)
258
+ | 属性名 | 类型 | 说明 | 示例 |
259
+ | --- | --- | --- | --- |
260
+ | type | `"horizontal" | "vertical"` | 布局方向 | `<DFlowLayout type="horizontal"></DFlowLayout>` |
261
+ | intraCellSpacing | `number | string` | 同层节点间距 | `<DFlowLayout :intraCellSpacing="40"></DFlowLayout>` |
262
+
263
+ #### 组合示例
264
+ ##### 可选中节点
265
+ **场景**: 在画布中选中节点并联动侧边配置面板。
266
+
267
+ 监听选中变化,处理画布交互。
268
+
269
+ **命中的子组件 API**: 属性: type
270
+
271
+ ```vue
272
+ <script setup lang="ts">
273
+ import { Diagram, DRectangle, DLine, DFlowLayout } from '@king-design/vue/components/diagram';
274
+
275
+ const handleSelectionChanged = (cells: any[]) => {
276
+ console.log('当前选中数量', cells.length);
277
+ };
278
+ </script>
279
+ <template>
280
+ <Diagram @selectionChanged="handleSelectionChanged">
281
+ <DFlowLayout type="horizontal">
282
+ <DRectangle key="1" label="节点 A" selectable />
283
+ <DRectangle key="2" label="节点 B" selectable />
284
+ <DLine from="1" to="2" label="流转" />
285
+ </DFlowLayout>
286
+ </Diagram>
287
+ </template>
288
+ ```
289
+
290
+ ## 使用示例
291
+ ### 基础树形流程图
292
+ **场景**: 快速搭建审批流或状态流转图。
293
+
294
+ 使用树形布局组织节点和连线。
295
+
296
+ **使用的 API**: 插槽: default
297
+
298
+ ```vue
299
+ <script setup lang="ts">
300
+ import { Diagram, DRectangle, DCircle, DLine, DTreeLayout } from '@king-design/vue/components/diagram';
301
+ </script>
302
+ <template>
303
+ <Diagram>
304
+ <DTreeLayout>
305
+ <DRectangle key="1" label="开始" />
306
+ <DCircle key="2" label="审核" />
307
+ <DCircle key="3" label="结束" />
308
+ <DLine from="1" to="2" />
309
+ <DLine from="2" to="3" />
310
+ </DTreeLayout>
311
+ </Diagram>
312
+ </template>
313
+ ```
314
+
315
+ ### 可选中节点
316
+ **场景**: 在画布中选中节点并联动侧边配置面板。
317
+
318
+ 监听选中变化,处理画布交互。
319
+
320
+ **使用的 API**: 事件: selectionChanged | 插槽: default
321
+
322
+ ```vue
323
+ <script setup lang="ts">
324
+ import { Diagram, DRectangle, DLine, DFlowLayout } from '@king-design/vue/components/diagram';
325
+
326
+ const handleSelectionChanged = (cells: any[]) => {
327
+ console.log('当前选中数量', cells.length);
328
+ };
329
+ </script>
330
+ <template>
331
+ <Diagram @selectionChanged="handleSelectionChanged">
332
+ <DFlowLayout type="horizontal">
333
+ <DRectangle key="1" label="节点 A" selectable />
334
+ <DRectangle key="2" label="节点 B" selectable />
335
+ <DLine from="1" to="2" label="流转" />
336
+ </DFlowLayout>
337
+ </Diagram>
338
+ </template>
339
+ ```
340
+
341
+ ## 相关组件
342
+ Anchor, Card
343
+
@@ -12,114 +12,133 @@ import { Dialog, Button } from '@king-design/vue';
12
12
  ```
13
13
 
14
14
  ## 属性 (Props)
15
- | 属性名 | 类型 | 默认值 | 必填 | 说明 | 示例 |
16
- | --- | --- | --- | --- | --- | --- |
17
- | value | `boolean` | `false` | 否 | 弹窗是否展示,可用v-model双向绑定 | `<Dialog v-model="visible"></Dialog>` |
18
- | title | `string` | `"提示"` | 否 | 弹窗标题 | `<Dialog v-model="visible" title="确认操作"></Dialog>` |
19
- | size | `"large" | "default" | "small" | "mini"` | `"default"` | 否 | 弹窗尺寸 | `<Dialog v-model="visible" size="small"></Dialog>` |
20
- | width | `number | string` | `undefined` | 否 | 指定弹窗宽度,number类型时单位为px,string类型需要指定单位 | `<Dialog v-model="visible" :width="800"></Dialog>` |
21
- | loading | `boolean` | `false` | 否 | "确定"按钮是否为加载状态 | `<Dialog v-model="visible" :loading="isSubmitting"></Dialog>` |
22
- | disabledOk | `boolean` | `false` | 否 | "确定"按钮是否为禁用状态 | `<Dialog v-model="visible" :disabledOk="!isValid"></Dialog>` |
23
- | okText | `string` | `"确定"` | 否 | "确定"按钮文案 | `<Dialog v-model="visible" okText="保存"></Dialog>` |
24
- | cancelText | `string` | `"取消"` | 否 | "取消"按钮文案 | `<Dialog v-model="visible" cancelText="放弃"></Dialog>` |
25
- | overlay | `boolean` | `true` | 否 | 是否展示遮罩层 | `<Dialog v-model="visible" :overlay="false"></Dialog>` |
26
- | closable | `boolean` | `true` | 否 | 点击遮罩层是否可以关闭弹窗 | `<Dialog v-model="visible" :closable="false"></Dialog>` |
27
- | escClosable | `boolean` | `true` | 否 | 是否按ESC键关闭弹窗 | `<Dialog v-model="visible" :escClosable="false"></Dialog>` |
28
- | hideClose | `boolean` | `false` | 否 | 是否隐藏右上角关闭按钮 | `<Dialog v-model="visible" hideClose></Dialog>` |
29
- | draggable | `boolean` | `true` | 否 | 弹窗是否可拖拽 | `<Dialog v-model="visible" :draggable="false"></Dialog>` |
30
- | mode | `"destroy" | "hide"` | `"hide"` | 否 | 指定主体元素在关闭状态下的渲染方式 | `<Dialog v-model="visible" mode="destroy"></Dialog>` |
15
+ | 属性名 | 类型 | 默认值 | 必填 | 说明 | 标签 | 示例 |
16
+ | --- | --- | --- | --- | --- | --- | --- |
17
+ | value | `boolean` | `false` | 否 | 弹窗是否展示,可用v-model双向绑定 | - | `<Dialog v-model="visible">` |
18
+ | title | `string` | `"提示"` | 否 | 弹窗标题 | - | `<Dialog v-model="visible" title="确认操作">` |
19
+ | size | `"large" | "default" | "small" | "mini"` | `"default"` | 否 | 弹窗尺寸 | - | `<Dialog v-model="visible" size="small">` |
20
+ | width | `number | string` | `undefined` | 否 | 指定弹窗宽度,number类型时单位为px,string类型需要指定单位 | - | `<Dialog v-model="visible" :width="800">` |
21
+ | loading | `boolean` | `false` | 否 | "确定"按钮是否为加载状态 | - | `<Dialog v-model="visible" :loading="isSubmitting">` |
22
+ | disabledOk | `boolean` | `false` | 否 | "确定"按钮是否为禁用状态 | - | `<Dialog v-model="visible" :disabledOk="!isValid">` |
23
+ | okText | `string` | `"确定"` | 否 | "确定"按钮文案 | - | `<Dialog v-model="visible" okText="保存">` |
24
+ | cancelText | `string` | `"取消"` | 否 | "取消"按钮文案 | - | `<Dialog v-model="visible" cancelText="放弃">` |
25
+ | ok | `() => void` | `undefined` | 否 | "确定"按钮点击后自定义回调函数 | - | `<Dialog v-model="visible" :ok="handleOk">` |
26
+ | cancel | `() => void` | `undefined` | 否 | "取消"按钮点击后自定义回调函数 | - | `<Dialog v-model="visible" :cancel="handleCancel">` |
27
+ | container | `string | ((parentDom: Element, anchor: Node | null) => Element)` | `undefined` | 否 | 指定弹窗插入的位置,默认追加到 body | - | `<Dialog v-model="visible" :container="() => document.body">` |
28
+ | overlay | `boolean` | `true` | 否 | 是否展示遮罩层 | - | `<Dialog v-model="visible" :overlay="false">` |
29
+ | closable | `boolean` | `true` | 否 | 点击遮罩层是否可以关闭弹窗 | - | `<Dialog v-model="visible" :closable="false">` |
30
+ | terminate | `() => void` | `undefined` | 否 | 用户点击关闭按钮、遮罩层或按 ESC 键时的回调函数 | - | `<Dialog v-model="visible" :terminate="handleTerminate">` |
31
+ | escClosable | `boolean` | `true` | 否 | 是否按ESC键关闭弹窗 | - | `<Dialog v-model="visible" :escClosable="false">` |
32
+ | hideClose | `boolean` | `false` | 否 | 是否隐藏右上角关闭按钮 | - | `<Dialog v-model="visible" hideClose>` |
33
+ | draggable | `boolean` | `true` | 否 | 弹窗是否可拖拽 | - | `<Dialog v-model="visible" :draggable="false">` |
34
+ | mode | `"destroy" | "hide"` | `"hide"` | 否 | 指定主体元素在关闭状态下的渲染方式 | - | `<Dialog v-model="visible" mode="destroy">` |
31
35
 
32
36
  ## 事件 (Events)
33
37
  | 事件名 | Vue事件名 | 说明 | 回调参数 | 示例 |
34
38
  | --- | --- | --- | --- | --- |
35
- | open | `@open` | 弹窗打开后触发 | `-` | `<Dialog v-model="visible" @open="handleOpen"></Dialog>` |
36
- | close | `@close` | 弹窗关闭后触发,不管是什么原因导致的关闭 | `-` | `<Dialog v-model="visible" @close="handleClose"></Dialog>` |
37
- | ok | `@ok` | 点击确定按钮时触发 | `-` | `<Dialog v-model="visible" @ok="handleOk"></Dialog>` |
38
- | cancel | `@cancel` | 点击取消按钮时触发 | `-` | `<Dialog v-model="visible" @cancel="handleCancel"></Dialog>` |
39
- | terminate | `@terminate` | 用户强行关闭弹窗时触发:点击关闭按钮、点击遮罩层、按ESC键 | `-` | `<Dialog v-model="visible" @terminate="handleTerminate"></Dialog>` |
40
- | afterClose | `@after-close` | 弹窗退出动画执行完成后触发 | `-` | `<Dialog v-model="visible" @after-close="handleAfterClose"></Dialog>` |
41
-
42
- ### 事件处理函数示例
43
- **open**:
44
- ```typescript
45
- const handleOpen = () => {
46
- console.log('弹窗已打开');
47
- };
48
- ```
49
-
50
- **close**:
51
- ```typescript
52
- const handleClose = () => {
53
- console.log('弹窗已关闭');
54
- };
55
- ```
56
-
57
- **ok**:
58
- ```typescript
59
- const handleOk = () => {
60
- // 处理确定逻辑
61
- visible.value = false;
62
- };
63
- ```
64
-
65
- **cancel**:
66
- ```typescript
67
- const handleCancel = () => {
68
- visible.value = false;
69
- };
70
- ```
71
-
72
- **terminate**:
73
- ```typescript
74
- const handleTerminate = () => {
75
- console.log('用户强行关闭了弹窗');
76
- };
77
- ```
78
-
79
- **afterClose**:
80
- ```typescript
81
- const handleAfterClose = () => {
82
- // 动画完成后清理
83
- };
84
- ```
39
+ | open | `@open` | 弹窗打开后触发 | `-` | `<Dialog v-model="visible" @open="handleOpen">` |
40
+ | close | `@close` | 弹窗关闭后触发,不管是什么原因导致的关闭 | `-` | `<Dialog v-model="visible" @close="handleClose">` |
41
+ | ok | `@ok` | 点击确定按钮时触发 | `-` | `<Dialog v-model="visible" @ok="handleOk">` |
42
+ | cancel | `@cancel` | 点击取消按钮时触发 | `-` | `<Dialog v-model="visible" @cancel="handleCancel">` |
43
+ | terminate | `@terminate` | 用户强行关闭弹窗时触发:点击关闭按钮、点击遮罩层、按ESC键 | `-` | `<Dialog v-model="visible" @terminate="handleTerminate">` |
44
+ | afterClose | `@after-close` | 弹窗退出动画执行完成后触发 | `-` | `<Dialog v-model="visible" @after-close="handleAfterClose">` |
85
45
 
86
46
  ## 插槽 (Slots)
87
47
  | 插槽名 | 说明 | 模板写法 | 示例 |
88
48
  | --- | --- | --- | --- |
89
- | content | 定义整个弹窗体,包括header,body,footer | `#content` | `<Dialog v-model="visible">
90
- <template #content>
91
- <!-- 完全自定义弹窗结构 -->
92
- </template>
49
+ | default | 弹窗主体内容(body区域) | `默认插槽` | `<Dialog v-model="visible">
50
+ <p>弹窗内容</p>
93
51
  </Dialog>` |
94
52
  | header | 扩展弹窗头部 | `#header` | `<Dialog v-model="visible">
95
53
  <template #header>
96
54
  <h2>自定义头部</h2>
97
55
  </template>
98
56
  </Dialog>` |
99
- | body | 扩展弹窗主体部分 | `#body` | - |
100
- | footer | 扩展弹窗底部 | `#footer` | `<Dialog v-model="visible">
57
+ | footer | 扩展弹窗底部按钮区域 | `#footer` | `<Dialog v-model="visible">
101
58
  <template #footer>
102
59
  <Button @click="visible = false">关闭</Button>
103
60
  <Button type="primary" @click="handleSubmit">提交</Button>
104
61
  </template>
105
62
  </Dialog>` |
106
- | footerWrapper | 扩展弹窗整个底部,上述footer是它下面一个子扩展点 | `#footerWrapper` | - |
63
+ | content | 定义整个弹窗体,包括header、body、footer | `#content` | `<Dialog v-model="visible">
64
+ <template #content>
65
+ <!-- 完全自定义弹窗结构 -->
66
+ </template>
67
+ </Dialog>` |
68
+
69
+ ### 插槽参数说明
70
+ **default**
71
+
72
+ - 参数结构: 无参数
73
+
74
+ **header**
75
+
76
+ - 参数结构: 无参数
77
+
78
+ **footer**
79
+
80
+ - 参数结构: 无参数
81
+
82
+ **content**
83
+
84
+ - 参数结构: 无参数
107
85
 
108
86
  ## 方法 (Methods)
109
87
  | 方法名 | 说明 | 参数 | 返回值 |
110
88
  | --- | --- | --- | --- |
111
- | show | 弹出弹窗 | `` | `Promise` |
112
- | close | 关闭弹窗 | `` | `void` |
113
- | showLoading | "确定"按钮变为加载状态 | `` | `void` |
114
- | hideLoading | "确定"按钮变为正常状态 | `` | `void` |
89
+ | show | 弹出弹窗 | `props?: DialogProps` | `Promise` |
90
+ | close | 关闭弹窗 | `-` | `void` |
91
+ | showLoading | "确定"按钮变为加载状态 | `-` | `void` |
92
+ | hideLoading | "确定"按钮变为正常状态 | `-` | `void` |
93
+
94
+ ### 方法参数说明
95
+ **show**
96
+
97
+ | 参数 | 类型 | 必填 | 默认值 | 说明 |
98
+ | --- | --- | --- | --- | --- |
99
+ | props | `DialogProps` | 否 | - | 可选的临时弹窗配置,会在本次显示时覆盖标题、按钮文案或宽度等属性。 |
100
+
101
+ 调用示例:
102
+ ```typescript
103
+ const dialogRef = ref<InstanceType<typeof Dialog>>();
104
+ await dialogRef.value?.show();
105
+ ```
106
+
107
+ ### 方法调用示例
108
+ **show**
109
+
110
+ ```typescript
111
+ const dialogRef = ref<InstanceType<typeof Dialog>>();
112
+ await dialogRef.value?.show();
113
+ ```
114
+
115
+ **close**
116
+
117
+ ```typescript
118
+ dialogRef.value?.close();
119
+ ```
120
+
121
+ **showLoading**
122
+
123
+ ```typescript
124
+ dialogRef.value?.showLoading();
125
+ ```
126
+
127
+ **hideLoading**
128
+
129
+ ```typescript
130
+ dialogRef.value?.hideLoading();
131
+ ```
115
132
 
116
133
  ## 常见错误与正确用法 (Anti-Hallucination)
134
+ ### 静态方法调用时未正确导入Dialog
117
135
  > **错误用法**: `import { confirm } from '@king-design/vue';
118
136
  confirm({ title: '确认' });`
119
137
  > **正确写法**: `import { Dialog } from '@king-design/vue';
120
138
  Dialog.confirm({ title: '确认' });`
121
139
  > **说明**: confirm、success、warning、error是Dialog的静态方法,需要通过Dialog.xxx()调用
122
140
 
141
+ ### @ok事件中未关闭弹窗
123
142
  > **错误用法**: `const handleOk = () => {
124
143
  // 只处理业务逻辑,忘记关闭弹窗
125
144
  submitData();
@@ -130,6 +149,7 @@ Dialog.confirm({ title: '确认' });`
130
149
  };`
131
150
  > **说明**: 使用@ok事件时,弹窗不会自动关闭,需要在处理函数中手动设置visible为false
132
151
 
152
+ ### v-model语法错误
133
153
  > **错误用法**: `<Dialog :value="visible" @update:value="visible = $event">`
134
154
  > **正确写法**: `<Dialog v-model="visible">`
135
155
  > **说明**: Vue 3中应使用v-model语法糖,不需要手动拆分:value和@update:value
@@ -12,24 +12,31 @@ import { Divider } from '@king-design/vue';
12
12
  ```
13
13
 
14
14
  ## 属性 (Props)
15
- | 属性名 | 类型 | 默认值 | 必填 | 说明 | 示例 |
16
- | --- | --- | --- | --- | --- | --- |
17
- | borderType | `"solid" | "dashed" | "dotted" | "double"` | `"solid"` | 否 | 定义线的类型 | `<Divider borderType="dashed">虚线</Divider>` |
18
- | position | `"left" | "right" | "center"` | `"center"` | 否 | 定义文字位置 | `<Divider position="left">左侧文字</Divider>` |
19
- | type | `"vertical" | "horizontal"` | `"vertical"` | 否 | 定义排列方式(水平或垂直)。注意:'horizontal' 用于创建垂直分割线(水平排列),'vertical' 用于创建水平分割线(垂直排列)。 | `<Divider type="horizontal" />` |
20
- | theme | `"light" | "dark"` | `"light"` | 否 | 定义主题,适用于深/浅色背景 | `<Divider theme="dark" />` |
21
- | margin | `"large" | "default" | "small" | "none" | number` | `"default"` | 否 | 定义Divider上下(或左右)外边距 | `<Divider margin="large" />` |
15
+ | 属性名 | 类型 | 默认值 | 必填 | 说明 | 标签 | 示例 |
16
+ | --- | --- | --- | --- | --- | --- | --- |
17
+ | borderType | `"solid" | "dashed" | "dotted" | "double"` | `"solid"` | 否 | 定义线的类型 | - | `<Divider borderType="dashed">虚线</Divider>` |
18
+ | position | `"left" | "right" | "center"` | `"center"` | 否 | 定义文字位置 | - | `<Divider position="left">左侧文字</Divider>` |
19
+ | type | `"vertical" | "horizontal"` | `"vertical"` | 否 | 定义排列方式(水平或垂直)。注意:'horizontal' 用于创建垂直分割线(水平排列),'vertical' 用于创建水平分割线(垂直排列)。 | - | `<Divider type="horizontal" />` |
20
+ | theme | `"light" | "dark"` | `"light"` | 否 | 定义主题,适用于深/浅色背景 | - | `<Divider theme="dark" />` |
21
+ | margin | `"large" | "default" | "small" | "none" | number` | `"default"` | 否 | 定义Divider上下(或左右)外边距 | - | `<Divider margin="large" />` |
22
22
 
23
23
  ## 插槽 (Slots)
24
24
  | 插槽名 | 说明 | 模板写法 | 示例 |
25
25
  | --- | --- | --- | --- |
26
26
  | default | 分割线中间的文字内容 | `#default` | `<Divider>文字内容</Divider>` |
27
27
 
28
+ ### 插槽参数说明
29
+ **default**
30
+
31
+ - 参数结构: 无参数
32
+
28
33
  ## 常见错误与正确用法 (Anti-Hallucination)
34
+ ### 混淆 vertical 和 horizontal 的含义
29
35
  > **错误用法**: `<Divider type="vertical" /> <!-- 想创建垂直分割线 -->`
30
36
  > **正确写法**: `<Divider type="horizontal" /> <!-- vertical是默认值(水平线),horizontal才是垂直线 -->`
31
37
  > **说明**: Divider 的 type 属性指的是排列方式。vertical 表示垂直排列(即上下分隔,产生水平线),horizontal 表示水平排列(即左右分隔,产生垂直线)。
32
38
 
39
+ ### 自定义 margin 时未使用动态绑定
33
40
  > **错误用法**: `<Divider margin="20" />`
34
41
  > **正确写法**: `<Divider :margin="20" />`
35
42
  > **说明**: 如果传入的是数字类型的 margin,需要使用 v-bind 语法 (:margin)。