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
@@ -12,23 +12,95 @@ import { Carousel, CarouselItem } from '@king-design/vue';
12
12
  ```
13
13
 
14
14
  ## 属性 (Props)
15
- | 属性名 | 类型 | 默认值 | 必填 | 说明 | 示例 |
16
- | --- | --- | --- | --- | --- | --- |
17
- | value | `string` | `"$0"` | 否 | 当前展示的内容块对应的值。默认为索引字符串 "$0", "$1" 等 | `<Carousel v-model="currentValue"></Carousel>` |
18
- | autoplay | `boolean | number` | `false` | 否 | 是否自动切换。如果传入数字,则表示自动切换的时间间隔(毫秒)。为 0 或 false 则不自动切换。 | `<Carousel :autoplay="3000"></Carousel>` |
19
- | arrow | `"hover" | "always" | "never"` | `"hover"` | 否 | 左右切换箭头的展示方式 | `<Carousel arrow="always"></Carousel>` |
20
- | effect | `"slide" | "fade"` | `"slide"` | 否 | 切换动画效果 | `<Carousel effect="fade"></Carousel>` |
21
- | clonedAmount | `number` | `1` | 否 | slide 模式下,指定前后克隆的内容块数量,用于无缝循环轮播 | `<Carousel :clonedAmount="2"></Carousel>` |
15
+ | 属性名 | 类型 | 默认值 | 必填 | 说明 | 标签 | 示例 |
16
+ | --- | --- | --- | --- | --- | --- | --- |
17
+ | value | `string` | `"$0"` | 否 | 当前展示的内容块对应的值。默认为索引字符串 "$0", "$1" 等 | - | `<Carousel v-model="currentValue"></Carousel>` |
18
+ | autoplay | `boolean | number` | `false` | 否 | 是否自动切换。如果传入数字,则表示自动切换的时间间隔(毫秒)。为 0 或 false 则不自动切换。 | - | `<Carousel :autoplay="3000"></Carousel>` |
19
+ | arrow | `"hover" | "always" | "never"` | `"hover"` | 否 | 左右切换箭头的展示方式 | - | `<Carousel arrow="always"></Carousel>` |
20
+ | effect | `"slide" | "fade"` | `"slide"` | 否 | 切换动画效果 | - | `<Carousel effect="fade"></Carousel>` |
21
+ | clonedAmount | `number` | `1` | 否 | slide 模式下,指定前后克隆的内容块数量,用于无缝循环轮播 | - | `<Carousel :clonedAmount="2"></Carousel>` |
22
22
 
23
23
  ## 子组件 (Sub-Components)
24
24
  ### CarouselItem
25
25
  走马灯的内容项
26
26
 
27
+ #### 属性 (Props)
27
28
  | 属性名 | 类型 | 说明 | 示例 |
28
29
  | --- | --- | --- | --- |
29
30
  | value | `string` | 定义该项的唯一值,若不设置默认为索引 "$0", "$1"... | `<CarouselItem value="item1"></CarouselItem>` |
30
31
 
32
+ #### 组合示例
33
+ ##### 基础用法
34
+ **场景**: 基本的轮播展示
35
+
36
+ 基本的走马灯效果
37
+
38
+ ```vue
39
+ <script setup lang="ts">
40
+ import { Carousel, CarouselItem } from '@king-design/vue';
41
+ </script>
42
+ <template>
43
+ <Carousel style="height: 200px;">
44
+ <CarouselItem>
45
+ <div class="demo-item">1</div>
46
+ </CarouselItem>
47
+ <CarouselItem>
48
+ <div class="demo-item">2</div>
49
+ </CarouselItem>
50
+ <CarouselItem>
51
+ <div class="demo-item">3</div>
52
+ </CarouselItem>
53
+ </Carousel>
54
+ </template>
55
+ <style>
56
+ .demo-item {
57
+ height: 100%;
58
+ background: #36cfc9;
59
+ display: flex;
60
+ align-items: center;
61
+ justify-content: center;
62
+ color: #fff;
63
+ font-size: 20px;
64
+ }
65
+ </style>
66
+ ```
67
+
68
+ ##### 自动轮播
69
+ **场景**: 首页 Banner 自动轮播
70
+
71
+ 设置 autoplay 属性自动播放
72
+
73
+ ```vue
74
+ <script setup lang="ts">
75
+ import { Carousel, CarouselItem } from '@king-design/vue';
76
+ </script>
77
+ <template>
78
+ <Carousel :autoplay="3000" style="height: 200px;">
79
+ <CarouselItem>Page 1</CarouselItem>
80
+ <CarouselItem>Page 2</CarouselItem>
81
+ </Carousel>
82
+ </template>
83
+ ```
84
+
85
+ ##### 淡入淡出
86
+ **场景**: 使用淡入淡出效果的轮播
87
+
88
+ 使用 effect="fade" 切换效果
89
+
90
+ ```vue
91
+ <script setup lang="ts">
92
+ import { Carousel, CarouselItem } from '@king-design/vue';
93
+ </script>
94
+ <template>
95
+ <Carousel effect="fade" style="height: 200px;">
96
+ <CarouselItem>Page 1</CarouselItem>
97
+ <CarouselItem>Page 2</CarouselItem>
98
+ </Carousel>
99
+ </template>
100
+ ```
101
+
31
102
  ## 常见错误与正确用法 (Anti-Hallucination)
103
+ ### 未设置 Carousel 高度
32
104
  > **错误用法**: `<Carousel>...</Carousel>`
33
105
  > **正确写法**: `<Carousel style="height: 300px;">...</Carousel>`
34
106
  > **说明**: Carousel 默认可能没有高度或者高度为 0,需要显式设置高度。
@@ -12,43 +12,126 @@ import { Cascader } from '@king-design/vue';
12
12
  ```
13
13
 
14
14
  ## 属性 (Props)
15
- | 属性名 | 类型 | 默认值 | 必填 | 说明 | 示例 |
16
- | --- | --- | --- | --- | --- | --- |
17
- | value | `any` | `""` | 否 | 当前选中的值。多选模式下为数组。 | `<Cascader v-model="selectedCity"></Cascader>` |
18
- | data | `CascaderData[]` | `[]` | 是 | 级联数据源。结构为 {value, label, children}[] | `<Cascader :data="options"></Cascader>` |
19
- | multiple | `boolean` | `false` | 否 | 是否开启多选模式 | `<Cascader multiple></Cascader>` |
20
- | filterable | `boolean` | `false` | 否 | 是否可搜索 | `<Cascader filterable></Cascader>` |
21
- | clearable | `boolean` | `false` | 否 | 是否显示清空按钮 | `<Cascader clearable></Cascader>` |
22
- | disabled | `boolean` | `false` | 否 | 是否禁用 | `<Cascader disabled></Cascader>` |
23
- | size | `"large" | "default" | "small" | "mini"` | `"default"` | 否 | 尺寸 | `<Cascader size="small"></Cascader>` |
24
- | trigger | `"click" | "hover"` | `"click"` | 否 | 子菜单触发方式 | `<Cascader trigger="hover"></Cascader>` |
25
- | changeOnSelect | `boolean` | `false` | 否 | 是否选中父级即改变 value(允许选择任意一级) | `<Cascader changeOnSelect></Cascader>` |
26
- | format | `(values: any[]) => string` | `undefined` | 否 | 自定义选中项的显示格式,参数为选中的数据项数组,返回显示的字符串。 | `<Cascader :format="(v) => v.map(i => i.label).join(' > ')"></Cascader>` |
27
- | loadData | `(item: any) => Promise<void> | void` | `undefined` | 否 | 动态加载数据函数。当子节点为空时调用。 | `<Cascader :loadData="loadMore"></Cascader>` |
28
- | loading | `boolean` | `false` | 否 | 是否显示加载中状态 | `<Cascader loading></Cascader>` |
29
- | placeholder | `string` | `"请选择"` | 否 | 占位文本 | `<Cascader placeholder="请选择城市"></Cascader>` |
30
- | fields | `object` | `undefined` | 否 | 自定义字段名映射,默认 {value:'value', label:'label', children:'children', disabled:'disabled'} | `<Cascader :fields="{value: 'code', label: 'name'}"></Cascader>` |
15
+ | 属性名 | 类型 | 默认值 | 必填 | 说明 | 标签 | 示例 |
16
+ | --- | --- | --- | --- | --- | --- | --- |
17
+ | value | `any` | `""` | 否 | 当前选中的值。多选模式下为数组。 | - | `<Cascader v-model="selectedCity">` |
18
+ | data | `CascaderData[]` | `[]` | 是 | 级联数据源。结构为 {value, label, children}[] | - | `<Cascader :data="options">` |
19
+ | multiple | `boolean` | `false` | 否 | 是否开启多选模式 | - | `<Cascader multiple>` |
20
+ | filterable | `boolean` | `false` | 否 | 是否可搜索 | - | `<Cascader filterable>` |
21
+ | filter | `(keywords: string, data: CascaderData) => boolean` | `undefined` | 否 | 自定义筛选规则函数 | - | `<Cascader filterable :filter="(kw, item) => item.label.includes(kw)">` |
22
+ | clearable | `boolean` | `false` | 否 | 是否显示清空按钮 | - | `<Cascader clearable>` |
23
+ | disabled | `boolean` | `false` | 否 | 是否禁用 | - | `<Cascader disabled>` |
24
+ | name | `string` | `undefined` | 否 | 表单元素的 name 属性 | - | `<Cascader name="city">` |
25
+ | size | `"large" | "default" | "small" | "mini"` | `"default"` | 否 | 尺寸 | - | `<Cascader size="small">` |
26
+ | hideIcon | `boolean` | `false` | 否 | 是否隐藏后面的下拉图标 | - | `<Cascader hideIcon>` |
27
+ | trigger | `"click" | "hover"` | `"click"` | 否 | 子菜单触发方式 | - | `<Cascader trigger="hover">` |
28
+ | changeOnSelect | `boolean` | `false` | 否 | 是否选中父级即改变 value(允许选择任意一级) | - | `<Cascader changeOnSelect>` |
29
+ | format | `(values: any[]) => string` | `undefined` | 否 | 自定义选中项的显示格式,参数为选中的数据项数组,返回显示的字符串。 | - | `<Cascader :format="(v) => v.map(i => i.label).join(' > ')">` |
30
+ | loadData | `(item: any) => Promise<void> | void` | `undefined` | 否 | 动态加载数据函数。当子节点为空时调用。 | - | `<Cascader :loadData="loadMore">` |
31
+ | loading | `boolean` | `false` | 否 | 是否显示加载中状态 | - | `<Cascader loading>` |
32
+ | fluid | `boolean` | `false` | 否 | 是否宽度 100% | - | `<Cascader fluid>` |
33
+ | inline | `boolean` | `false` | 否 | 展示内联模式,该模式下组件没有边框,宽度和高度由内容撑开 | - | `<Cascader inline>` |
34
+ | placeholder | `string` | `"请选择"` | 否 | 占位文本 | - | `<Cascader placeholder="请选择城市">` |
35
+ | container | `string | ((parentDom: Element, anchor: Node | null) => Element)` | `undefined` | 否 | 指定弹出菜单追加的位置,默认 Dialog 组件会追加到 Dialog 中,其他追加到 body | - | `<Cascader :container="() => document.body">` |
36
+ | width | `number | string` | `undefined` | 否 | 指定宽度,组件自动添加单位 px | - | `<Cascader :width="240">` |
37
+ | show | `boolean` | `false` | 否 | 是否展示菜单项(受控模式) | - | `<Cascader :show="visible">` |
38
+ | position | `Position | "left" | "bottom" | "right" | "top"` | `{my: 'left top+8', at: 'left bottom'}` | 否 | 菜单弹出的位置 | - | `<Cascader position="top">` |
39
+ | flat | `boolean` | `false` | 否 | 是否展示扁平样式 | - | `<Cascader flat>` |
40
+ | nowrap | `boolean` | `false` | 否 | 选中值区域是否不换行展示,适合单行紧凑布局 | - | `<Cascader nowrap>` |
41
+ | draggable | `boolean` | `false` | 否 | 多选值是否支持拖动排序 | - | `<Cascader multiple draggable>` |
42
+ | virtual | `boolean` | `false` | 否 | 是否开启虚拟列表,用于大数据量场景 | - | `<Cascader virtual>` |
43
+ | fields | `object` | `undefined` | 否 | 自定义字段名映射,默认 {value:'value', label:'label', children:'children', disabled:'disabled'} | - | `<Cascader :fields="{value: 'code', label: 'name'}">` |
31
44
 
32
45
  ## 事件 (Events)
33
46
  | 事件名 | Vue事件名 | 说明 | 回调参数 | 示例 |
34
47
  | --- | --- | --- | --- | --- |
35
- | change | `@change` | 值发生变化时触发 | `value: any` | `<Cascader @change="handleChange"></Cascader>` |
36
- | show | `@show` | 菜单显示时触发 | `-` | `<Cascader @show="onShow"></Cascader>` |
37
- | hide | `@hide` | 菜单隐藏时触发 | `-` | `<Cascader @hide="onHide"></Cascader>` |
48
+ | change | `@change` | 值发生变化时触发 | `value: any` | `<Cascader @change="handleChange">` |
49
+ | show | `@show` | 菜单显示时触发 | `-` | `<Cascader @show="onShow">` |
50
+ | hide | `@hide` | 菜单隐藏时触发 | `-` | `<Cascader @hide="onHide">` |
51
+
52
+ ### 事件参数说明
53
+ **change**
54
+
55
+ | 参数 | 类型 | 必填 | 默认值 | 说明 |
56
+ | --- | --- | --- | --- | --- |
57
+ | value | `any` | 是 | - | 当前选中的值 |
38
58
 
39
59
  ## 插槽 (Slots)
40
60
  | 插槽名 | 说明 | 模板写法 | 示例 |
41
61
  | --- | --- | --- | --- |
42
- | value | 自定义选择结果的展示 | `undefined` | - |
43
- | values | 自定义多选的选择结果的展示 | `undefined` | - |
44
- | prefix | 自定义输入框前面展示的内容 | `undefined` | - |
45
- | suffix | 自定义输入框后面展示的内容 | `undefined` | - |
62
+ | value | 自定义单选模式下的已选路径展示内容 | `#value="[value, label]"` | `<Cascader v-model="selectedCity" :data="options">
63
+ <template #value="[value, label]">
64
+ <span>{{ label }} ({{ value.join(' / ') }})</span>
65
+ </template>
66
+ </Cascader>` |
67
+ | values | 自定义多选模式下的已选路径展示内容 | `#values="[values, labels]"` | `<Cascader v-model="selectedCities" :data="options" multiple>
68
+ <template #values="[values, labels]">
69
+ <span>已选 {{ labels.length }} 条路径</span>
70
+ </template>
71
+ </Cascader>` |
72
+ | prefix | 扩展选择框前缀内容 | `#prefix` | `<Cascader :data="options">
73
+ <template #prefix>
74
+ <span class="k-icon-location"></span>
75
+ </template>
76
+ </Cascader>` |
77
+ | suffix | 扩展选择框后缀内容 | `#suffix` | `<Cascader :data="options">
78
+ <template #suffix>
79
+ <span>路径</span>
80
+ </template>
81
+ </Cascader>` |
82
+
83
+ ### 插槽参数说明
84
+ **value**
85
+
86
+ - 参数结构: #value="[value, label]"
87
+ - 参数列表: `value: V[]`、`label: string`
88
+
89
+ **values**
90
+
91
+ - 参数结构: #values="[values, labels]"
92
+ - 参数列表: `values: V[][]`、`labels: string[]`
93
+
94
+ **prefix**
95
+
96
+ - 参数结构: 无参数
97
+
98
+ **suffix**
99
+
100
+ - 参数结构: 无参数
101
+
102
+ ## 方法 (Methods)
103
+ | 方法名 | 说明 | 参数 | 返回值 |
104
+ | --- | --- | --- | --- |
105
+ | show | 主动展开级联选择面板。 | `-` | `void` |
106
+ | hide | 主动关闭级联选择面板。 | `-` | `void` |
107
+ | position | 重新计算级联选择面板的位置。 | `-` | `void` |
108
+
109
+ ### 方法调用示例
110
+ **show**
111
+
112
+ ```typescript
113
+ cascaderRef.value?.show();
114
+ ```
115
+
116
+ **hide**
117
+
118
+ ```typescript
119
+ cascaderRef.value?.hide();
120
+ ```
121
+
122
+ **position**
123
+
124
+ ```typescript
125
+ cascaderRef.value?.position();
126
+ ```
46
127
 
47
128
  ## 常见错误与正确用法 (Anti-Hallucination)
129
+ ### 数据未加载时显示空白
48
130
  > **错误用法**: `<Cascader :data="[]" />`
49
131
  > **正确写法**: `<Cascader :data="options" :loading="isLoading" />`
50
132
  > **说明**: 如果数据为空,建议设置 loading 状态或者提供数据源。
51
133
 
134
+ ### value 格式错误
52
135
  > **错误用法**: `const value = ref('beijing')`
53
136
  > **正确写法**: `const value = ref(['beijing', 'chaoyang'])`
54
137
  > **说明**: Cascader 的 value 通常是一个数组(表示路径),如果是多选则为二维数组。
@@ -12,25 +12,34 @@ import { Checkbox } from '@king-design/vue';
12
12
  ```
13
13
 
14
14
  ## 属性 (Props)
15
- | 属性名 | 类型 | 默认值 | 必填 | 说明 | 示例 |
16
- | --- | --- | --- | --- | --- | --- |
17
- | value | `any` | `false` | 否 | 复选框的取值,可用 v-model 双向绑定。单独使用时为布尔值,组合使用时为数组 | `<Checkbox v-model="checked">选项</Checkbox>` |
18
- | trueValue | `any` | `true` | 否 | 选中时的值 | `<Checkbox trueValue="yes" falseValue="no"></Checkbox>` |
19
- | falseValue | `any` | `false` | 否 | 未选中时的值 | `<Checkbox trueValue="active" falseValue="inactive"></Checkbox>` |
20
- | disabled | `boolean` | `false` | 否 | 是否禁用 | `<Checkbox disabled>禁用</Checkbox>` |
21
- | indeterminate | `boolean` | `false` | 否 | 是否半选中状态,用于实现全选功能时表示部分选中 | `<Checkbox :indeterminate="isPartialChecked"></Checkbox>` |
22
- | name | `string` | `undefined` | 否 | 原生 name 属性 | `<Checkbox name="agreement"></Checkbox>` |
23
- | required | `boolean` | `undefined` | 否 | 原生 required 属性 | `<Checkbox required></Checkbox>` |
24
- | form | `string` | `undefined` | 否 | 原生 form 属性 | `<Checkbox form="myForm"></Checkbox>` |
25
- | autofocus | `boolean` | `undefined` | 否 | 原生 autofocus 属性 | `<Checkbox autofocus></Checkbox>` |
15
+ | 属性名 | 类型 | 默认值 | 必填 | 说明 | 标签 | 示例 |
16
+ | --- | --- | --- | --- | --- | --- | --- |
17
+ | value | `any` | `false` | 否 | 复选框的取值,可用 v-model 双向绑定。单独使用时为布尔值,组合使用时为数组 | - | `<Checkbox v-model="checked">选项</Checkbox>` |
18
+ | trueValue | `any` | `true` | 否 | 选中时的值 | - | `<Checkbox trueValue="yes" falseValue="no"></Checkbox>` |
19
+ | falseValue | `any` | `false` | 否 | 未选中时的值 | - | `<Checkbox trueValue="active" falseValue="inactive"></Checkbox>` |
20
+ | disabled | `boolean` | `false` | 否 | 是否禁用 | - | `<Checkbox disabled>禁用</Checkbox>` |
21
+ | indeterminate | `boolean` | `false` | 否 | 是否半选中状态,用于实现全选功能时表示部分选中 | - | `<Checkbox :indeterminate="isPartialChecked"></Checkbox>` |
22
+ | name | `string` | `undefined` | 否 | 原生 name 属性 | `native` | `<Checkbox name="agreement"></Checkbox>` |
23
+ | required | `boolean` | `undefined` | 否 | 原生 required 属性 | `native` | `<Checkbox required></Checkbox>` |
24
+ | form | `string` | `undefined` | 否 | 原生 form 属性 | `native` | `<Checkbox form="myForm"></Checkbox>` |
25
+ | autofocus | `boolean` | `undefined` | 否 | 原生 autofocus 属性 | `native` | `<Checkbox autofocus></Checkbox>` |
26
+ | autocomplete | `string` | `undefined` | 否 | 原生 autocomplete 属性,指定浏览器自动补全行为 | `native` | `<Checkbox autocomplete="off"></Checkbox>` |
27
+ | maxlength | `number | string` | `undefined` | 否 | 原生 maxlength 属性,组件透传到内部 input 元素 | `native` | `<Checkbox :maxlength="1"></Checkbox>` |
26
28
 
27
29
  ## 事件 (Events)
28
30
  | 事件名 | Vue事件名 | 说明 | 回调参数 | 示例 |
29
31
  | --- | --- | --- | --- | --- |
30
32
  | change | `@change` | 当点击组件导致值变化时触发 | `value: any, e: MouseEvent` | `<Checkbox @change="handleChange"></Checkbox>` |
31
33
 
32
- ### 事件处理函数示例
33
- **change**:
34
+ ### 事件参数说明
35
+ **change**
36
+
37
+ | 参数 | 类型 | 必填 | 默认值 | 说明 |
38
+ | --- | --- | --- | --- | --- |
39
+ | value | `any` | 是 | - | 变化后的值 |
40
+ | e | `MouseEvent` | 是 | - | 原生鼠标事件 |
41
+
42
+ 事件处理示例:
34
43
  ```typescript
35
44
  const handleChange = (value: boolean, e: MouseEvent) => {
36
45
  console.log('选中状态:', value);
@@ -38,6 +47,7 @@ const handleChange = (value: boolean, e: MouseEvent) => {
38
47
  ```
39
48
 
40
49
  ## 常见错误与正确用法 (Anti-Hallucination)
50
+ ### 复选框组使用错误的 value 类型
41
51
  > **错误用法**: `const checked = ref(false);
42
52
  <Checkbox v-model="checked" trueValue="apple">苹果</Checkbox>
43
53
  <Checkbox v-model="checked" trueValue="banana">香蕉</Checkbox>`
@@ -46,10 +56,12 @@ const handleChange = (value: boolean, e: MouseEvent) => {
46
56
  <Checkbox v-model="checkedList" trueValue="banana">香蕉</Checkbox>`
47
57
  > **说明**: 复选框组需要使用数组类型的 value
48
58
 
59
+ ### 使用 indeterminate 但未正确处理全选逻辑
49
60
  > **错误用法**: `<Checkbox :indeterminate="true">全选</Checkbox>`
50
61
  > **正确写法**: `<Checkbox v-model="checkAll" :indeterminate="indeterminate">全选</Checkbox>`
51
62
  > **说明**: indeterminate 只控制视觉样式,需要配合 v-model 和计算属性实现全选逻辑
52
63
 
64
+ ### 自定义值类型与初始值不匹配
53
65
  > **错误用法**: `const value = ref(false);
54
66
  <Checkbox v-model="value" trueValue="yes" falseValue="no">`
55
67
  > **正确写法**: `const value = ref('no');
@@ -0,0 +1,83 @@
1
+ # CIDR 输入框 (CidrInput)
2
+
3
+ 用于录入网段 CIDR 的业务输入组件,把 IP 地址与掩码选择组合在一起,常用于 VPC、子网和安全策略配置。
4
+
5
+ **关键词**: cidr, cidr input, 网段输入, 子网配置, network cidr, 掩码选择
6
+
7
+ **使用场景**: 网络配置、子网和路由录入、CIDR 分段输入与校验
8
+
9
+ ## 导入语句
10
+ ```typescript
11
+ import { CidrInput } from '@ksyun-internal/versatile';
12
+ ```
13
+
14
+ ## 属性 (Props)
15
+ | 属性名 | 类型 | 默认值 | 必填 | 说明 | 标签 | 示例 |
16
+ | --- | --- | --- | --- | --- | --- | --- |
17
+ | modelValue | `string` | `undefined` | 否 | CIDR 值,如 192.168.0.0/24 | - | - |
18
+ | vpcCidr | `string` | `undefined` | 否 | 所属 VPC 的 CIDR,用于约束和提示 | - | - |
19
+ | disabled | `boolean | any[]` | `undefined` | 否 | 禁用状态或禁用分段配置 | - | - |
20
+ | tooltip | `any[]` | `undefined` | 否 | 各分段 tooltip 配置 | - | - |
21
+ | maskRange | `number[]` | `[0, 32]` | 否 | 可选掩码范围 | - | - |
22
+
23
+ ## 事件 (Events)
24
+ | 事件名 | Vue事件名 | 说明 | 回调参数 | 示例 |
25
+ | --- | --- | --- | --- | --- |
26
+ | update:modelValue | `@update:modelValue` | CIDR 字符串变化时触发,可直接同步到网络配置表单。 | `value?: string` | - |
27
+
28
+ ### 事件参数说明
29
+ **update:modelValue**
30
+
31
+ | 参数 | 类型 | 必填 | 默认值 | 说明 |
32
+ | --- | --- | --- | --- | --- |
33
+ | value | `string` | 否 | - | 当前输入的 CIDR 字符串。 |
34
+
35
+ ## 使用示例
36
+ ### 子网网段录入
37
+ **场景**: 创建子网时录入并校验目标网段。
38
+
39
+ 限制掩码范围,并结合 VPC 网段给出约束。
40
+
41
+ **使用的 API**: 属性: modelValue, vpcCidr, maskRange | 事件: update:modelValue
42
+
43
+ ```vue
44
+ <script setup lang="ts">
45
+ import { ref } from 'vue';
46
+ import { CidrInput } from '@ksyun-internal/versatile';
47
+
48
+ const cidr = ref('192.168.1.0/24');
49
+ </script>
50
+
51
+ <template>
52
+ <CidrInput
53
+ v-model="cidr"
54
+ vpc-cidr="192.168.0.0/16"
55
+ :mask-range="[16, 28]"
56
+ />
57
+ </template>
58
+ ```
59
+
60
+ ### 为分段输入补充提示
61
+ **场景**: 在网络配置页中用提示文案降低 CIDR 输入门槛。
62
+
63
+ 给 CIDR 各段提供 tooltip,帮助用户理解输入规则。
64
+
65
+ **使用的 API**: 属性: modelValue, tooltip, maskRange | 事件: update:modelValue
66
+
67
+ ```vue
68
+ <script setup lang="ts">
69
+ import { ref } from 'vue';
70
+ import { CidrInput } from '@ksyun-internal/versatile';
71
+
72
+ const cidr = ref('10.0.0.0/24');
73
+ const tooltip = ['网络段', '子网段', '主机段', '预留', '掩码长度'];
74
+ </script>
75
+
76
+ <template>
77
+ <CidrInput v-model="cidr" :tooltip="tooltip" :mask-range="[24, 28]" />
78
+ </template>
79
+ ```
80
+
81
+ ## 相关组件
82
+ IPInput
83
+
@@ -12,23 +12,31 @@ import { Code } from '@king-design/vue';
12
12
  ```
13
13
 
14
14
  ## 属性 (Props)
15
- | 属性名 | 类型 | 默认值 | 必填 | 说明 | 示例 |
16
- | --- | --- | --- | --- | --- | --- |
17
- | value | `string` | `""` | 否 | 编辑器的代码内容,可用 v-model 双向绑定 | `<Code v-model="code" />` |
18
- | language | `string` | `"javascript"` | 否 | 指定编程语言 | `<Code language="typescript" />` |
19
- | theme | `"vs" | "vs-dark" | "hc-black"` | `"vs"` | 否 | 指定主题 | `<Code theme="vs-dark" />` |
20
- | readOnly | `boolean` | `false` | 否 | 是否只读 | `<Code readOnly />` |
21
- | width | `string` | `"100%"` | 否 | 指定宽度,需要带单位 | `<Code width="800px" />` |
22
- | height | `string` | `"100%"` | 否 | 指定高度,需要带单位 | `<Code height="400px" />` |
23
- | options | `editor.IStandaloneEditorConstructionOptions` | `{}` | 否 | 其它 Monaco Editor 配置,会传给 monaco.editor.create() 方法 | `<Code :options="{minimap: {enabled: false}}" />` |
15
+ | 属性名 | 类型 | 默认值 | 必填 | 说明 | 标签 | 示例 |
16
+ | --- | --- | --- | --- | --- | --- | --- |
17
+ | value | `string` | `""` | 否 | 编辑器的代码内容,可用 v-model 双向绑定 | - | `<Code v-model="code" />` |
18
+ | language | `string` | `"javascript"` | 否 | 指定编程语言 | - | `<Code language="typescript" />` |
19
+ | theme | `"vs" | "vs-dark" | "hc-black"` | `"vs"` | 否 | 指定主题 | - | `<Code theme="vs-dark" />` |
20
+ | readOnly | `boolean` | `false` | 否 | 是否只读 | - | `<Code readOnly />` |
21
+ | width | `string` | `"100%"` | 否 | 指定宽度,需要带单位 | - | `<Code width="800px" />` |
22
+ | height | `string` | `"100%"` | 否 | 指定高度,需要带单位 | - | `<Code height="400px" />` |
23
+ | options | `editor.IStandaloneEditorConstructionOptions` | `{}` | 否 | 其它 Monaco Editor 配置,会传给 monaco.editor.create() 方法 | - | `<Code :options="{minimap: {enabled: false}}" />` |
24
24
 
25
25
  ## 事件 (Events)
26
26
  | 事件名 | Vue事件名 | 说明 | 回调参数 | 示例 |
27
27
  | --- | --- | --- | --- | --- |
28
28
  | ready | `@ready` | 编辑器加载并实例化完成时触发 | `editor: editor.IStandaloneCodeEditor, Editor: typeof editor, Monaco: typeof monaco` | `<Code @ready="handleReady" />` |
29
29
 
30
- ### 事件处理函数示例
31
- **ready**:
30
+ ### 事件参数说明
31
+ **ready**
32
+
33
+ | 参数 | 类型 | 必填 | 默认值 | 说明 |
34
+ | --- | --- | --- | --- | --- |
35
+ | editor | `editor.IStandaloneCodeEditor` | 是 | - | 编辑器实例 |
36
+ | Editor | `typeof editor` | 是 | - | Editor 模块 |
37
+ | Monaco | `typeof monaco` | 是 | - | Monaco 模块 |
38
+
39
+ 事件处理示例:
32
40
  ```typescript
33
41
  const handleReady = (editor, Editor, Monaco) => {
34
42
  console.log('编辑器已加载', editor);
@@ -37,14 +45,17 @@ const handleReady = (editor, Editor, Monaco) => {
37
45
  ```
38
46
 
39
47
  ## 常见错误与正确用法 (Anti-Hallucination)
48
+ ### height/width 未带单位
40
49
  > **错误用法**: `<Code height="200" /> <!-- 无单位 -->`
41
50
  > **正确写法**: `<Code height="200px" />`
42
51
  > **说明**: height 和 width 需要带单位,如 px、%、vh 等
43
52
 
53
+ ### language 拼写错误
44
54
  > **错误用法**: `<Code language="Javascript" /> <!-- 大写错误 -->`
45
55
  > **正确写法**: `<Code language="javascript" />`
46
56
  > **说明**: language 应使用小写,如 javascript、typescript
47
57
 
58
+ ### 未正确导入 Code 组件
48
59
  > **错误用法**: `import { Code } from '@king-design/vue'; // 可能未包含在默认 bundle 中`
49
60
  > **正确写法**: `// 确保项目配置了 Monaco Editor
50
61
  import { Code } from '@king-design/vue';`