king-design-analyzer 2.1.9 → 2.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 (305) hide show
  1. package/components/actions.json +101 -0
  2. package/components/advancedset.json +127 -0
  3. package/components/affix.json +7 -0
  4. package/components/aksk.json +172 -0
  5. package/components/az.json +15 -2
  6. package/components/badge.json +7 -0
  7. package/components/billtypes.json +14 -2
  8. package/components/breadcrumb.json +7 -0
  9. package/components/button.json +191 -0
  10. package/components/buttonlink.json +73 -0
  11. package/components/card.json +8 -1
  12. package/components/cardcol.json +142 -0
  13. package/components/cardcols.json +121 -0
  14. package/components/cardcontent.json +15 -3
  15. package/components/cardtabs.json +172 -0
  16. package/components/carousel.json +7 -0
  17. package/components/cascader.json +520 -368
  18. package/components/checkbox.json +51 -4
  19. package/components/cidrinput.json +140 -0
  20. package/components/code.json +8 -1
  21. package/components/collapse.json +7 -0
  22. package/components/colorpicker.json +217 -0
  23. package/components/copy.json +7 -0
  24. package/components/copyhover.json +111 -0
  25. package/components/copyrow.json +124 -0
  26. package/components/datepicker.json +656 -524
  27. package/components/description.json +98 -0
  28. package/components/dialog.json +522 -455
  29. package/components/divider.json +8 -1
  30. package/components/drawer.json +571 -558
  31. package/components/dropdown.json +464 -384
  32. package/components/duration.json +125 -0
  33. package/components/editable.json +66 -0
  34. package/components/ellipsis.json +34 -1
  35. package/components/filtertablefieldsdialog.json +128 -0
  36. package/components/flex.json +151 -0
  37. package/components/form.json +131 -0
  38. package/components/formiteminput.json +214 -0
  39. package/components/formitemspinner.json +213 -0
  40. package/components/formitemswitch.json +185 -0
  41. package/components/formitemtableconfigs.json +210 -0
  42. package/components/grid.json +7 -0
  43. package/components/header.json +161 -0
  44. package/components/icon.json +13 -1
  45. package/components/icontooltip.json +19 -1
  46. package/components/input.json +188 -4
  47. package/components/instancelist.json +194 -0
  48. package/components/instancenum.json +196 -0
  49. package/components/ipinput.json +117 -0
  50. package/components/kspstatus.json +205 -0
  51. package/components/kvcode.json +120 -0
  52. package/components/layoutcontent.json +15 -3
  53. package/components/layoutlistcontent.json +148 -0
  54. package/components/layoutpermissioncontent.json +155 -0
  55. package/components/layoutstandardlist.json +275 -0
  56. package/components/layouttabs.json +168 -0
  57. package/components/lazymount.json +86 -0
  58. package/components/lazyteleport.json +118 -0
  59. package/components/menu.json +7 -0
  60. package/components/pagination.json +12 -0
  61. package/components/paginationplus.json +30 -3
  62. package/components/password.json +121 -0
  63. package/components/popover.json +457 -437
  64. package/components/projects.json +129 -0
  65. package/components/protable.json +97 -8
  66. package/components/queuevisualrange.json +110 -0
  67. package/components/radio.json +82 -2
  68. package/components/rate.json +199 -0
  69. package/components/region.json +14 -2
  70. package/components/search.json +221 -0
  71. package/components/searchinput.json +132 -0
  72. package/components/searchitems.json +215 -0
  73. package/components/searchselect.json +195 -0
  74. package/components/select.json +686 -666
  75. package/components/sidebar.json +198 -0
  76. package/components/skeleton.json +233 -0
  77. package/components/spin.json +8 -1
  78. package/components/split.json +260 -0
  79. package/components/sshkeys.json +138 -0
  80. package/components/status.json +60 -3
  81. package/components/steps.json +7 -0
  82. package/components/switch.json +8 -1
  83. package/components/table.json +18 -1
  84. package/components/tablecolumnid.json +14 -2
  85. package/components/tabs.json +12 -0
  86. package/components/timeline.json +213 -0
  87. package/components/timepicker.json +147 -3
  88. package/components/timerange.json +262 -0
  89. package/components/tip.json +7 -0
  90. package/components/tooltip.json +484 -395
  91. package/components/tour.json +418 -372
  92. package/components/transfer.json +27 -3
  93. package/components/tree.json +6 -4
  94. package/components/treeselect.json +556 -475
  95. package/components/upload.json +474 -473
  96. package/components/vdialog.json +308 -0
  97. package/components/vdrawer.json +331 -0
  98. package/components/virtuallist.json +7 -0
  99. package/dist/ast/index.d.mts +35 -1
  100. package/dist/ast/index.d.ts +35 -1
  101. package/dist/ast/index.js +4 -3
  102. package/dist/ast/index.mjs +2 -1
  103. package/dist/{chunk-DSWKLUIX.mjs → chunk-3LYQ5XFM.mjs} +1 -1
  104. package/dist/chunk-BI5TIQID.mjs +330 -0
  105. package/dist/{chunk-F26GUCGG.js → chunk-CJGGFVQJ.js} +8 -8
  106. package/dist/chunk-CR3GC4H3.js +353 -0
  107. package/dist/{chunk-NZ6TLWMD.mjs → chunk-D2SXGGTX.mjs} +28 -17
  108. package/dist/{chunk-D3Y6FGWA.js → chunk-EYKZY2F3.js} +29 -18
  109. package/dist/chunk-KF5YBEM5.js +143 -0
  110. package/dist/{chunk-H2ET6MMM.mjs → chunk-KMIDURUR.mjs} +42 -47
  111. package/dist/chunk-QC6VTSA3.mjs +117 -0
  112. package/dist/{chunk-2W6OCG2S.js → chunk-SZYVGYKK.js} +42 -48
  113. package/dist/{chunk-WYSRJVX4.js → chunk-TA3SV4SP.js} +2 -2
  114. package/dist/{chunk-OJOHB64C.mjs → chunk-XGPHQHLR.mjs} +4 -4
  115. package/dist/full/index.js +7 -6
  116. package/dist/full/index.mjs +5 -4
  117. package/dist/index.d.mts +1 -0
  118. package/dist/index.d.ts +1 -0
  119. package/dist/index.js +14 -13
  120. package/dist/index.mjs +6 -5
  121. package/dist/metadata/index.d.mts +22 -2
  122. package/dist/metadata/index.d.ts +22 -2
  123. package/dist/metadata/index.js +26 -16
  124. package/dist/metadata/index.mjs +26 -15
  125. package/dist/resolve-BsLBxlBi.d.mts +24 -0
  126. package/dist/resolve-BsLBxlBi.d.ts +24 -0
  127. package/dist/runtime/index.js +4 -4
  128. package/dist/runtime/index.mjs +2 -2
  129. package/dist/shared/index.d.mts +10 -0
  130. package/dist/shared/index.d.ts +10 -0
  131. package/dist/shared/index.js +23 -0
  132. package/dist/shared/index.mjs +2 -0
  133. package/dist/static/index.js +5 -5
  134. package/dist/static/index.mjs +2 -2
  135. package/docs_for_llm/actions.doc.md +77 -0
  136. package/docs_for_llm/advancedset.doc.md +89 -0
  137. package/docs_for_llm/affix.doc.md +15 -7
  138. package/docs_for_llm/aksk.doc.md +111 -0
  139. package/docs_for_llm/az.doc.md +17 -11
  140. package/docs_for_llm/badge.doc.md +6 -5
  141. package/docs_for_llm/billtypes.doc.md +17 -11
  142. package/docs_for_llm/breadcrumb.doc.md +6 -3
  143. package/docs_for_llm/button.doc.md +34 -18
  144. package/docs_for_llm/buttonlink.doc.md +55 -0
  145. package/docs_for_llm/card.doc.md +8 -5
  146. package/docs_for_llm/cardcol.doc.md +78 -0
  147. package/docs_for_llm/cardcols.doc.md +84 -0
  148. package/docs_for_llm/cardcontent.doc.md +10 -10
  149. package/docs_for_llm/cardtabs.doc.md +106 -0
  150. package/docs_for_llm/carousel.doc.md +8 -7
  151. package/docs_for_llm/cascader.doc.md +46 -25
  152. package/docs_for_llm/checkbox.doc.md +25 -13
  153. package/docs_for_llm/cidrinput.doc.md +83 -0
  154. package/docs_for_llm/code.doc.md +22 -11
  155. package/docs_for_llm/collapse.doc.md +9 -6
  156. package/docs_for_llm/colorpicker.doc.md +104 -0
  157. package/docs_for_llm/copy.doc.md +15 -13
  158. package/docs_for_llm/copyhover.doc.md +59 -0
  159. package/docs_for_llm/copyrow.doc.md +71 -0
  160. package/docs_for_llm/datepicker.doc.md +51 -39
  161. package/docs_for_llm/description.doc.md +75 -0
  162. package/docs_for_llm/descriptions.doc.md +9 -6
  163. package/docs_for_llm/dialog.doc.md +48 -77
  164. package/docs_for_llm/divider.doc.md +9 -7
  165. package/docs_for_llm/drawer.doc.md +43 -84
  166. package/docs_for_llm/dropdown.doc.md +52 -21
  167. package/docs_for_llm/duration.doc.md +76 -0
  168. package/docs_for_llm/editable.doc.md +36 -14
  169. package/docs_for_llm/ellipsis.doc.md +10 -5
  170. package/docs_for_llm/filtertablefieldsdialog.doc.md +99 -0
  171. package/docs_for_llm/flex.doc.md +74 -0
  172. package/docs_for_llm/form.doc.md +33 -14
  173. package/docs_for_llm/formiteminput.doc.md +128 -0
  174. package/docs_for_llm/formitemspinner.doc.md +105 -0
  175. package/docs_for_llm/formitemswitch.doc.md +113 -0
  176. package/docs_for_llm/formitemtableconfigs.doc.md +95 -0
  177. package/docs_for_llm/grid.doc.md +7 -5
  178. package/docs_for_llm/header.doc.md +85 -0
  179. package/docs_for_llm/icon.doc.md +12 -8
  180. package/docs_for_llm/icontooltip.doc.md +121 -0
  181. package/docs_for_llm/input.doc.md +90 -39
  182. package/docs_for_llm/instancelist.doc.md +113 -0
  183. package/docs_for_llm/instancenum.doc.md +95 -0
  184. package/docs_for_llm/ipinput.doc.md +77 -0
  185. package/docs_for_llm/kspstatus.doc.md +82 -0
  186. package/docs_for_llm/kvcode.doc.md +76 -0
  187. package/docs_for_llm/layoutcontent.doc.md +17 -17
  188. package/docs_for_llm/layoutlistcontent.doc.md +95 -0
  189. package/docs_for_llm/layoutpermissioncontent.doc.md +84 -0
  190. package/docs_for_llm/layoutstandardlist.doc.md +120 -0
  191. package/docs_for_llm/layouttabs.doc.md +101 -0
  192. package/docs_for_llm/lazymount.doc.md +73 -0
  193. package/docs_for_llm/lazyteleport.doc.md +76 -0
  194. package/docs_for_llm/menu.doc.md +14 -11
  195. package/docs_for_llm/message.doc.md +48 -10
  196. package/docs_for_llm/pagination.doc.md +30 -17
  197. package/docs_for_llm/paginationplus.doc.md +31 -10
  198. package/docs_for_llm/password.doc.md +86 -0
  199. package/docs_for_llm/popover.doc.md +24 -55
  200. package/docs_for_llm/progress.doc.md +13 -10
  201. package/docs_for_llm/projects.doc.md +91 -0
  202. package/docs_for_llm/protable.doc.md +89 -15
  203. package/docs_for_llm/queuevisualrange.doc.md +78 -0
  204. package/docs_for_llm/radio.doc.md +23 -8
  205. package/docs_for_llm/rate.doc.md +122 -0
  206. package/docs_for_llm/region.doc.md +25 -13
  207. package/docs_for_llm/search.doc.md +120 -0
  208. package/docs_for_llm/searchinput.doc.md +111 -0
  209. package/docs_for_llm/searchitems.doc.md +116 -0
  210. package/docs_for_llm/searchselect.doc.md +126 -0
  211. package/docs_for_llm/select.doc.md +40 -55
  212. package/docs_for_llm/sidebar.doc.md +133 -0
  213. package/docs_for_llm/skeleton.doc.md +117 -0
  214. package/docs_for_llm/slider.doc.md +31 -21
  215. package/docs_for_llm/spin.doc.md +8 -5
  216. package/docs_for_llm/spinner.doc.md +28 -18
  217. package/docs_for_llm/split.doc.md +157 -0
  218. package/docs_for_llm/sshkeys.doc.md +88 -0
  219. package/docs_for_llm/status.doc.md +14 -9
  220. package/docs_for_llm/steps.doc.md +10 -7
  221. package/docs_for_llm/switch.doc.md +17 -14
  222. package/docs_for_llm/table.doc.md +118 -51
  223. package/docs_for_llm/tablecolumnid.doc.md +36 -16
  224. package/docs_for_llm/tabs.doc.md +19 -10
  225. package/docs_for_llm/tag.doc.md +19 -10
  226. package/docs_for_llm/timeline.doc.md +109 -0
  227. package/docs_for_llm/timepicker.doc.md +57 -38
  228. package/docs_for_llm/timerange.doc.md +157 -0
  229. package/docs_for_llm/tip.doc.md +20 -11
  230. package/docs_for_llm/tooltip.doc.md +55 -29
  231. package/docs_for_llm/tour.doc.md +48 -29
  232. package/docs_for_llm/transfer.doc.md +40 -29
  233. package/docs_for_llm/tree.doc.md +65 -23
  234. package/docs_for_llm/treeselect.doc.md +37 -48
  235. package/docs_for_llm/upload.doc.md +56 -32
  236. package/docs_for_llm/useCRUD.doc.md +49 -0
  237. package/docs_for_llm/useCountdown.doc.md +43 -0
  238. package/docs_for_llm/useDetail.doc.md +48 -0
  239. package/docs_for_llm/useDialog.doc.md +46 -0
  240. package/docs_for_llm/useEntity.doc.md +45 -0
  241. package/docs_for_llm/useEventListener.doc.md +44 -0
  242. package/docs_for_llm/useFalseUntilTruthy.doc.md +41 -0
  243. package/docs_for_llm/useGetCopyAuthText.doc.md +35 -0
  244. package/docs_for_llm/useGetUserPermission.doc.md +43 -0
  245. package/docs_for_llm/useGroup.doc.md +48 -0
  246. package/docs_for_llm/useIdEntities.doc.md +48 -0
  247. package/docs_for_llm/useIdEntity.doc.md +103 -0
  248. package/docs_for_llm/useInterval.doc.md +43 -0
  249. package/docs_for_llm/useLayoutStandardList.doc.md +38 -0
  250. package/docs_for_llm/useMessage.doc.md +46 -0
  251. package/docs_for_llm/useModifyCache.doc.md +37 -0
  252. package/docs_for_llm/useOpenDialog.doc.md +41 -0
  253. package/docs_for_llm/usePagination.doc.md +60 -0
  254. package/docs_for_llm/usePersist.doc.md +54 -0
  255. package/docs_for_llm/usePoll.doc.md +41 -0
  256. package/docs_for_llm/useRoutePlus.doc.md +34 -0
  257. package/docs_for_llm/useRouterPlus.doc.md +34 -0
  258. package/docs_for_llm/useSearch.doc.md +68 -0
  259. package/docs_for_llm/useShell.doc.md +43 -0
  260. package/docs_for_llm/useSkip.doc.md +41 -0
  261. package/docs_for_llm/useStorageIdEntity.doc.md +46 -0
  262. package/docs_for_llm/useStore.doc.md +34 -0
  263. package/docs_for_llm/useTable.doc.md +57 -0
  264. package/docs_for_llm/useTableGroup.doc.md +47 -0
  265. package/docs_for_llm/useTableSort.doc.md +40 -0
  266. package/docs_for_llm/useToState.doc.md +112 -0
  267. package/docs_for_llm/useUser.doc.md +38 -0
  268. package/docs_for_llm/useValidForm.doc.md +41 -0
  269. package/docs_for_llm/vdialog.doc.md +129 -0
  270. package/docs_for_llm/vdrawer.doc.md +119 -0
  271. package/docs_for_llm/virtuallist.doc.md +6 -3
  272. package/hooks/useCRUD.json +61 -0
  273. package/hooks/useCountdown.json +49 -0
  274. package/hooks/useDetail.json +67 -0
  275. package/hooks/useDialog.json +49 -0
  276. package/hooks/useEntity.json +61 -0
  277. package/hooks/useEventListener.json +61 -0
  278. package/hooks/useFalseUntilTruthy.json +43 -0
  279. package/hooks/useGetCopyAuthText.json +36 -0
  280. package/hooks/useGetUserPermission.json +55 -0
  281. package/hooks/useGroup.json +49 -0
  282. package/hooks/useIdEntities.json +61 -0
  283. package/hooks/useInterval.json +55 -0
  284. package/hooks/useLayoutStandardList.json +36 -0
  285. package/hooks/useMessage.json +73 -0
  286. package/hooks/useModifyCache.json +36 -0
  287. package/hooks/useOpenDialog.json +43 -0
  288. package/hooks/usePagination.json +49 -0
  289. package/hooks/usePersist.json +61 -0
  290. package/hooks/usePoll.json +43 -0
  291. package/hooks/useRoutePlus.json +36 -0
  292. package/hooks/useRouterPlus.json +36 -0
  293. package/hooks/useSearch.json +56 -0
  294. package/hooks/useShell.json +49 -0
  295. package/hooks/useSkip.json +43 -0
  296. package/hooks/useStorageIdEntity.json +67 -0
  297. package/hooks/useStore.json +36 -0
  298. package/hooks/useTable.json +49 -0
  299. package/hooks/useTableGroup.json +43 -0
  300. package/hooks/useTableSort.json +43 -0
  301. package/hooks/useUser.json +36 -0
  302. package/hooks/useValidForm.json +43 -0
  303. package/package.json +12 -6
  304. package/dist/chunk-HPAUCD5I.js +0 -156
  305. package/dist/chunk-L4DS3EXI.mjs +0 -133
@@ -0,0 +1,111 @@
1
+ # AK/SK 配置 (AKSK)
2
+
3
+ 用于录入 AccessKey / SecretKey 并控制是否沿用原始凭证的业务表单组件,常见于任务同步、数据接入和跨账号授权场景。
4
+
5
+ **关键词**: aksk, access key, secret key, 凭证配置, ak sk, 云服务凭证
6
+
7
+ **使用场景**: 云服务凭证录入、数据集或任务凭证配置、切换原始凭证或自定义凭证
8
+
9
+ ## 导入语句
10
+ ```typescript
11
+ import { AKSK } from '@ksyun-internal/versatile';
12
+ ```
13
+
14
+ ## 属性 (Props)
15
+ | 属性名 | 类型 | 默认值 | 必填 | 说明 | 标签 | 示例 |
16
+ | --- | --- | --- | --- | --- | --- | --- |
17
+ | ak | `string | null` | `undefined` | 否 | 当前 AccessKey | - | - |
18
+ | sk | `string | null` | `undefined` | 否 | 当前 SecretKey | - | - |
19
+ | isUseOriginal | `boolean | null` | `false` | 否 | 是否使用原始 AK/SK | - | - |
20
+ | isShowUseOriginal | `boolean | null` | `false` | 否 | 是否展示“使用原始凭证”选项 | - | - |
21
+ | inDataSet | `boolean | null` | `undefined` | 否 | 是否处于数据集场景 | - | - |
22
+
23
+ ## 事件 (Events)
24
+ | 事件名 | Vue事件名 | 说明 | 回调参数 | 示例 |
25
+ | --- | --- | --- | --- | --- |
26
+ | update:ak | `@update:ak` | AccessKey 变更时触发,便于和父级表单状态保持同步。 | `value?: string | null` | - |
27
+ | update:sk | `@update:sk` | SecretKey 变更时触发,通常用于同步加密存储前的表单值。 | `value?: string | null` | - |
28
+ | update:isUseOriginal | `@update:isUseOriginal` | “使用原始凭证”开关变化时触发,可据此切换输入项显隐。 | `value?: boolean | null` | - |
29
+
30
+ ### 事件参数说明
31
+ **update:ak**
32
+
33
+ | 参数 | 类型 | 必填 | 默认值 | 说明 |
34
+ | --- | --- | --- | --- | --- |
35
+ | value | `string | null` | 否 | - | 当前输入的 AccessKey 值。 |
36
+
37
+ **update:sk**
38
+
39
+ | 参数 | 类型 | 必填 | 默认值 | 说明 |
40
+ | --- | --- | --- | --- | --- |
41
+ | value | `string | null` | 否 | - | 当前输入的 SecretKey 值。 |
42
+
43
+ **update:isUseOriginal**
44
+
45
+ | 参数 | 类型 | 必填 | 默认值 | 说明 |
46
+ | --- | --- | --- | --- | --- |
47
+ | value | `boolean | null` | 否 | - | 当前是否使用原始凭证。 |
48
+
49
+ ## 使用示例
50
+ ### 任务配置中的 AK/SK 凭证录入
51
+ **场景**: 录入任务访问外部对象存储或服务所需的访问凭证。
52
+
53
+ 通过多个 v-model 同步 AccessKey、SecretKey 和原始凭证开关。
54
+
55
+ **使用的 API**: 属性: ak, sk, isUseOriginal, isShowUseOriginal | 事件: update:ak, update:sk, update:isUseOriginal
56
+
57
+ ```vue
58
+ <script setup lang="ts">
59
+ import { ref } from 'vue';
60
+ import { AKSK } from '@ksyun-internal/versatile';
61
+
62
+ const ak = ref('AKLTxxxxxxxx');
63
+ const sk = ref('********');
64
+ const isUseOriginal = ref(false);
65
+ </script>
66
+
67
+ <template>
68
+ <AKSK
69
+ v-model:ak="ak"
70
+ v-model:sk="sk"
71
+ v-model:isUseOriginal="isUseOriginal"
72
+ :is-show-use-original="true"
73
+ />
74
+ </template>
75
+ ```
76
+
77
+ ### 切换是否沿用原始凭证
78
+ **场景**: 在数据同步任务中切换使用系统默认凭证或自定义凭证。
79
+
80
+ 结合 update:isUseOriginal 在不同凭证来源之间切换。
81
+
82
+ **使用的 API**: 属性: ak, sk, isUseOriginal, isShowUseOriginal, inDataSet | 事件: update:isUseOriginal
83
+
84
+ ```vue
85
+ <script setup lang="ts">
86
+ import { ref } from 'vue';
87
+ import { AKSK } from '@ksyun-internal/versatile';
88
+
89
+ const ak = ref('AKLTxxxx');
90
+ const sk = ref('******');
91
+ const isUseOriginal = ref(true);
92
+ const handleToggle = (value: boolean) => {
93
+ console.log('use original credentials:', value);
94
+ };
95
+ </script>
96
+
97
+ <template>
98
+ <AKSK
99
+ v-model:ak="ak"
100
+ v-model:sk="sk"
101
+ v-model:isUseOriginal="isUseOriginal"
102
+ :is-show-use-original="true"
103
+ :in-data-set="true"
104
+ @update:isUseOriginal="handleToggle"
105
+ />
106
+ </template>
107
+ ```
108
+
109
+ ## 相关组件
110
+ FormItemInput
111
+
@@ -2,9 +2,9 @@
2
2
 
3
3
  可用区(Availability Zone)选择组件。
4
4
 
5
- **关键词**: az, zone, 可用区, 机房
5
+ **关键词**: az, zone, 可用区, 机房, availability zone, az select, 可用区选择
6
6
 
7
- **使用场景**: 购买页选择可用区
7
+ **使用场景**: 购买页选择可用区、与地域联动切换机房、资源部署位置选择、高可用架构中选择目标可用区
8
8
 
9
9
  ## 导入语句
10
10
  ```typescript
@@ -12,21 +12,27 @@ import { AZ } from '@ksyun-internal/versatile';
12
12
  ```
13
13
 
14
14
  ## 属性 (Props)
15
- | 属性名 | 类型 | 默认值 | 必填 | 说明 | 示例 |
16
- | --- | --- | --- | --- | --- | --- |
17
- | modelValue | `string` | `undefined` | 否 | 选中的可用区编码 | `<AZ v-model="azCode" />` |
18
- | regionCode | `string` | `undefined` | 否 | 所属地域编码 | `<AZ regionCode="cn-beijing-6" />` |
19
- | packages | `AZ[]` | `undefined` | 否 | 可用区配置列表(通常从Region组件联动获取,或通过API获取) | `<AZ :packages="packages" />` |
20
- | showLearnMore | `boolean` | `true` | 否 | 是否显示了解更多 | - |
21
- | learnMoreUrl | `number` | `undefined` | 否 | 了解更多链接ID | - |
15
+ | 属性名 | 类型 | 默认值 | 必填 | 说明 | 标签 | 示例 |
16
+ | --- | --- | --- | --- | --- | --- | --- |
17
+ | modelValue | `string` | `undefined` | 否 | 选中的可用区编码 | - | `<AZ v-model="azCode" />` |
18
+ | regionCode | `string` | `undefined` | 否 | 所属地域编码 | - | `<AZ regionCode="cn-beijing-6" />` |
19
+ | packages | `AZ[]` | `undefined` | 否 | 可用区配置列表(通常从Region组件联动获取,或通过API获取) | - | `<AZ :packages="packages" />` |
20
+ | showLearnMore | `boolean` | `true` | 否 | 是否显示了解更多 | - | - |
21
+ | learnMoreUrl | `number` | `undefined` | 否 | 了解更多链接ID | - | - |
22
22
 
23
23
  ## 事件 (Events)
24
24
  | 事件名 | Vue事件名 | 说明 | 回调参数 | 示例 |
25
25
  | --- | --- | --- | --- | --- |
26
26
  | change | `update:modelValue` | 可用区改变时触发 | `value: string` | `<AZ @update:modelValue="v => console.log(v)" /></AZ>` |
27
27
 
28
- ### 事件处理函数示例
29
- **change**:
28
+ ### 事件参数说明
29
+ **change**
30
+
31
+ | 参数 | 类型 | 必填 | 默认值 | 说明 |
32
+ | --- | --- | --- | --- | --- |
33
+ | value | `string` | 是 | - | 新的AZCode |
34
+
35
+ 事件处理示例:
30
36
  ```typescript
31
37
  (val) => { console.log(val); }
32
38
  ```
@@ -12,11 +12,11 @@ import { Badge } from '@king-design/vue';
12
12
  ```
13
13
 
14
14
  ## 属性 (Props)
15
- | 属性名 | 类型 | 默认值 | 必填 | 说明 | 示例 |
16
- | --- | --- | --- | --- | --- | --- |
17
- | text | `string | number` | `undefined` | 否 | 显示的文本内容或数字。如果不传,则显示为一个小红点。 | `<Badge :text="10"></Badge>` |
18
- | max | `number` | `undefined` | 否 | 显示的最大数值,超过最大值会显示为 max+。仅在 text 为 numeric 时生效。 | `<Badge :text="100" :max="99"></Badge>` |
19
- | disabled | `boolean` | `false` | 否 | 是否隐藏徽标 | `<Badge disabled></Badge>` |
15
+ | 属性名 | 类型 | 默认值 | 必填 | 说明 | 标签 | 示例 |
16
+ | --- | --- | --- | --- | --- | --- | --- |
17
+ | text | `string | number` | `undefined` | 否 | 显示的文本内容或数字。如果不传,则显示为一个小红点。 | - | `<Badge :text="10"></Badge>` |
18
+ | max | `number` | `undefined` | 否 | 显示的最大数值,超过最大值会显示为 max+。仅在 text 为 numeric 时生效。 | - | `<Badge :text="100" :max="99"></Badge>` |
19
+ | disabled | `boolean` | `false` | 否 | 是否隐藏徽标 | - | `<Badge disabled></Badge>` |
20
20
 
21
21
  ## 插槽 (Slots)
22
22
  | 插槽名 | 说明 | 模板写法 | 示例 |
@@ -24,6 +24,7 @@ import { Badge } from '@king-design/vue';
24
24
  | default | 徽标包裹的元素 | `#default` | `<Badge><Button>Button</Button></Badge>` |
25
25
 
26
26
  ## 常见错误与正确用法 (Anti-Hallucination)
27
+ ### 数字作为字符串传入
27
28
  > **错误用法**: `<Badge text="10" :max="9">`
28
29
  > **正确写法**: `<Badge :text="10" :max="9">`
29
30
  > **说明**: 如果 text 传入的是字符串 "10",max 属性可能无法正确比较。建议数字类型使用 v-bind 传入。
@@ -2,9 +2,9 @@
2
2
 
3
3
  计费类型选择组件,支持按量付费、包年包月等多种计费模式展示与选择。
4
4
 
5
- **关键词**: bill, price, charge, 计费, 价格
5
+ **关键词**: bill, price, charge, 计费, 价格, 计费模式, 按量付费, 包年包月
6
6
 
7
- **使用场景**: 购买页选择计费模式
7
+ **使用场景**: 购买页选择计费模式、切换按量和包年包月、试用与正式计费方式选择
8
8
 
9
9
  ## 导入语句
10
10
  ```typescript
@@ -12,21 +12,27 @@ import { BillTypes } from '@ksyun-internal/versatile';
12
12
  ```
13
13
 
14
14
  ## 属性 (Props)
15
- | 属性名 | 类型 | 默认值 | 必填 | 说明 | 示例 |
16
- | --- | --- | --- | --- | --- | --- |
17
- | modelValue | `number` | `undefined` | 否 | 选中的计费类型ID | `<BillTypes v-model="billType" />` |
18
- | packages | `BillType[]` | `undefined` | 否 | 计费类型配置列表 | `<BillTypes :packages="packages" />` |
19
- | showTrial | `boolean` | `false` | 否 | 是否显示试用选项 | `<BillTypes showTrial />` |
20
- | showLearnMore | `boolean` | `true` | 否 | 是否显示了解更多链接 | `<BillTypes showLearnMore />` |
21
- | learnMoreUrl | `number` | `undefined` | 否 | 了解更多链接的帮助文档ID | `<BillTypes :learnMoreUrl="123" />` |
15
+ | 属性名 | 类型 | 默认值 | 必填 | 说明 | 标签 | 示例 |
16
+ | --- | --- | --- | --- | --- | --- | --- |
17
+ | modelValue | `number` | `undefined` | 否 | 选中的计费类型ID | - | `<BillTypes v-model="billType" />` |
18
+ | packages | `BillType[]` | `undefined` | 否 | 计费类型配置列表 | - | `<BillTypes :packages="packages" />` |
19
+ | showTrial | `boolean` | `false` | 否 | 是否显示试用选项 | - | `<BillTypes showTrial />` |
20
+ | showLearnMore | `boolean` | `true` | 否 | 是否显示了解更多链接 | - | `<BillTypes showLearnMore />` |
21
+ | learnMoreUrl | `number` | `undefined` | 否 | 了解更多链接的帮助文档ID | - | `<BillTypes :learnMoreUrl="123" />` |
22
22
 
23
23
  ## 事件 (Events)
24
24
  | 事件名 | Vue事件名 | 说明 | 回调参数 | 示例 |
25
25
  | --- | --- | --- | --- | --- |
26
26
  | change | `update:modelValue` | 选中值改变时触发 | `value: number` | `<BillTypes @update:modelValue="v => console.log(v)" /></BillTypes>` |
27
27
 
28
- ### 事件处理函数示例
29
- **change**:
28
+ ### 事件参数说明
29
+ **change**
30
+
31
+ | 参数 | 类型 | 必填 | 默认值 | 说明 |
32
+ | --- | --- | --- | --- | --- |
33
+ | value | `number` | 是 | - | 新的计费类型ID |
34
+
35
+ 事件处理示例:
30
36
  ```typescript
31
37
  (val) => { console.log(val); }
32
38
  ```
@@ -12,9 +12,9 @@ import { Breadcrumb, BreadcrumbItem } from '@king-design/vue';
12
12
  ```
13
13
 
14
14
  ## 属性 (Props)
15
- | 属性名 | 类型 | 默认值 | 必填 | 说明 | 示例 |
16
- | --- | --- | --- | --- | --- | --- |
17
- | separator | `string` | `undefined` | 否 | 指定分隔符 | `<Breadcrumb separator=">"></Breadcrumb>` |
15
+ | 属性名 | 类型 | 默认值 | 必填 | 说明 | 标签 | 示例 |
16
+ | --- | --- | --- | --- | --- | --- | --- |
17
+ | separator | `string` | `undefined` | 否 | 指定分隔符 | - | `<Breadcrumb separator=">"></Breadcrumb>` |
18
18
 
19
19
  ## 插槽 (Slots)
20
20
  | 插槽名 | 说明 | 模板写法 | 示例 |
@@ -30,6 +30,7 @@ import { Breadcrumb, BreadcrumbItem } from '@king-design/vue';
30
30
  | to | `string | object` | 指定超链接地址,支持字符串路径或 Vue Router 路由对象 | `<BreadcrumbItem to="/products">产品中心</BreadcrumbItem>` |
31
31
 
32
32
  ## 常见错误与正确用法 (Anti-Hallucination)
33
+ ### 最后一项不应该有链接
33
34
  > **错误用法**: `<Breadcrumb>
34
35
  <BreadcrumbItem to="/">首页</BreadcrumbItem>
35
36
  <BreadcrumbItem to="/current">当前页面</BreadcrumbItem>
@@ -40,6 +41,7 @@ import { Breadcrumb, BreadcrumbItem } from '@king-design/vue';
40
41
  </Breadcrumb>`
41
42
  > **说明**: 面包屑最后一项表示当前页面,不应该设置链接
42
43
 
44
+ ### 直接使用 Breadcrumb 未包含 BreadcrumbItem
43
45
  > **错误用法**: `<Breadcrumb>
44
46
  <span>首页</span>
45
47
  <span>产品</span>
@@ -50,6 +52,7 @@ import { Breadcrumb, BreadcrumbItem } from '@king-design/vue';
50
52
  </Breadcrumb>`
51
53
  > **说明**: Breadcrumb 组件必须配合 BreadcrumbItem 子组件使用
52
54
 
55
+ ### 路由对象未使用绑定语法
53
56
  > **错误用法**: `<BreadcrumbItem to="{path: '/home'}">首页</BreadcrumbItem>`
54
57
  > **正确写法**: `<BreadcrumbItem :to="{path: '/home'}">首页</BreadcrumbItem>`
55
58
  > **说明**: 传入对象类型时需要使用 v-bind (:to) 语法
@@ -12,22 +12,35 @@ import { Button, ButtonGroup } from '@king-design/vue';
12
12
  ```
13
13
 
14
14
  ## 属性 (Props)
15
- | 属性名 | 类型 | 默认值 | 必填 | 说明 | 示例 |
16
- | --- | --- | --- | --- | --- | --- |
17
- | type | `"default" | "primary" | "warning" | "danger" | "success" | "secondary" | "link" | "flat" | "none"` | `"default"` | 否 | 按钮类型,决定按钮的视觉样式 | `<Button type="primary">主要按钮</Button>` |
18
- | size | `"default" | "small" | "mini" | "large"` | `"default"` | 否 | 按钮尺寸 | `<Button size="small">小按钮</Button>` |
19
- | icon | `boolean` | `false` | 否 | 是否为图标按钮(宽高相等) | `<Button icon><Icon class="k-icon-search" /></Button>` |
20
- | circle | `boolean` | `false` | 否 | 是否为圆角按钮 | `<Button icon circle><Icon class="k-icon-plus" /></Button>` |
21
- | loading | `boolean` | `false` | 否 | 是否为正在加载中的按钮,加载时按钮会禁用点击 | `<Button type="primary" :loading="isLoading">提交中...</Button>` |
22
- | disabled | `boolean` | `false` | 否 | 是否禁用状态 | `<Button disabled>禁用按钮</Button>` |
23
- | fluid | `boolean` | `false` | 否 | 是否宽度100% | `<Button fluid>块级按钮</Button>` |
24
- | htmlType | `string` | `"button"` | 否 | 按钮<button>元素的type属性 | `<Button htmlType="submit">提交表单</Button>` |
25
- | tagName | `string` | `"button"` | 否 | 按钮渲染后的实际HTML元素,例如可以传入"a"来渲染成超链接 | `<Button tagName="a" href="https://example.com" target="_blank">链接按钮</Button>` |
26
- | value | `*` | `undefined` | 否 | 对于radio/checkbox类型的按钮组,给按钮指定选中时的值 | `<Button value="option1">选项1</Button>` |
27
- | ghost | `boolean` | `false` | 否 | 展示透明背景的按钮,适用于深色背景 | `<div style="background: #001529; padding: 16px;">
15
+ | 属性名 | 类型 | 默认值 | 必填 | 说明 | 标签 | 示例 |
16
+ | --- | --- | --- | --- | --- | --- | --- |
17
+ | type | `"default" | "primary" | "warning" | "danger" | "success" | "secondary" | "link" | "flat" | "none"` | `"default"` | 否 | 按钮类型,决定按钮的视觉样式 | - | `<Button type="primary">主要按钮</Button>` |
18
+ | size | `"default" | "small" | "mini" | "large"` | `"default"` | 否 | 按钮尺寸 | - | `<Button size="small">小按钮</Button>` |
19
+ | icon | `boolean` | `false` | 否 | 是否为图标按钮(宽高相等) | - | `<Button icon><Icon class="k-icon-search" /></Button>` |
20
+ | circle | `boolean` | `false` | 否 | 是否为圆角按钮 | - | `<Button icon circle><Icon class="k-icon-plus" /></Button>` |
21
+ | loading | `boolean` | `false` | 否 | 是否为正在加载中的按钮,加载时按钮会禁用点击 | - | `<Button type="primary" :loading="isLoading">提交中...</Button>` |
22
+ | disabled | `boolean` | `false` | 否 | 是否禁用状态 | - | `<Button disabled>禁用按钮</Button>` |
23
+ | fluid | `boolean` | `false` | 否 | 是否宽度100% | - | `<Button fluid>块级按钮</Button>` |
24
+ | htmlType | `string` | `"button"` | 否 | 按钮<button>元素的type属性 | - | `<Button htmlType="submit">提交表单</Button>` |
25
+ | color | `string` | `undefined` | 否 | 自定义按钮颜色,通常用于细粒度的主题色控制 | - | `<Button color="#1677ff">自定义颜色按钮</Button>` |
26
+ | tagName | `string` | `"button"` | 否 | 按钮渲染后的实际HTML元素,例如可以传入"a"来渲染成超链接 | - | `<Button tagName="a" href="https://example.com" target="_blank">链接按钮</Button>` |
27
+ | autofocus | `boolean` | `undefined` | 否 | 原生 autofocus 属性,页面加载后自动聚焦按钮 | `native` | `<Button autofocus>自动聚焦</Button>` |
28
+ | form | `string` | `undefined` | 否 | 原生 form 属性,指定按钮关联的表单 id | `native` | `<Button form="loginForm" htmlType="submit">提交</Button>` |
29
+ | formaction | `string` | `undefined` | 否 | 原生 formaction 属性,覆盖表单提交地址 | `native` | `<Button formaction="/api/submit" htmlType="submit">提交</Button>` |
30
+ | formenctype | `string` | `undefined` | 否 | 原生 formenctype 属性,指定表单提交编码类型 | `native` | `<Button formenctype="multipart/form-data" htmlType="submit">上传</Button>` |
31
+ | formmethod | `"post" | "get" | "dialog" | string` | `undefined` | 否 | 原生 formmethod 属性,指定表单提交方法 | `native` | `<Button formmethod="post" htmlType="submit">提交</Button>` |
32
+ | formnovalidate | `boolean` | `undefined` | 否 | 原生 formnovalidate 属性,提交时跳过原生表单校验 | `native` | `<Button formnovalidate htmlType="submit">跳过校验</Button>` |
33
+ | formtarget | `string` | `undefined` | 否 | 原生 formtarget 属性,指定表单响应的打开位置 | `native` | `<Button formtarget="_blank" htmlType="submit">新窗口提交</Button>` |
34
+ | href | `string` | `undefined` | 否 | 原生 href 属性,当 tagName="a" 时指定跳转链接 | `native` | `<Button tagName="a" href="https://example.com">外部链接</Button>` |
35
+ | target | `string` | `undefined` | 否 | 原生 target 属性,当 tagName="a" 时指定打开方式 | `native` | `<Button tagName="a" href="https://example.com" target="_blank">新窗口打开</Button>` |
36
+ | download | `string` | `undefined` | 否 | 原生 download 属性,当 tagName="a" 时提示浏览器下载资源 | `native` | `<Button tagName="a" href="/file.pdf" download="demo.pdf">下载文件</Button>` |
37
+ | value | `*` | `undefined` | 否 | 对于radio/checkbox类型的按钮组,给按钮指定选中时的值 | - | `<Button value="option1">选项1</Button>` |
38
+ | name | `string` | `undefined` | 否 | 原生 name 属性 | `native` | `<Button name="submitBtn">提交</Button>` |
39
+ | tabindex | `string | number` | `undefined` | 否 | 原生 tabindex 属性,控制键盘 Tab 导航顺序 | `native` | `<Button :tabindex="-1">跳过焦点</Button>` |
40
+ | ghost | `boolean` | `false` | 否 | 展示透明背景的按钮,适用于深色背景 | - | `<div style="background: #001529; padding: 16px;">
28
41
  <Button ghost>幽灵按钮</Button>
29
42
  </div>` |
30
- | class | `string | Record<string, boolean>` | `undefined` | 否 | 给按钮添加自定义类名,通常用于通过 CSS 类名来定义按钮的具体视觉样式 | `<Button class="my-custom-btn">自定义类名按钮</Button>` |
43
+ | class | `string | Record<string, boolean>` | `undefined` | 否 | 给按钮添加自定义类名,通常用于通过 CSS 类名来定义按钮的具体视觉样式 | - | `<Button class="my-custom-btn">自定义类名按钮</Button>` |
31
44
 
32
45
  ## 插槽 (Slots)
33
46
  | 插槽名 | 说明 | 模板写法 | 示例 |
@@ -37,10 +50,10 @@ import { Button, ButtonGroup } from '@king-design/vue';
37
50
  ## 方法 (Methods)
38
51
  | 方法名 | 说明 | 参数 | 返回值 |
39
52
  | --- | --- | --- | --- |
40
- | showLoading | 展示 loading 状态 | `` | `void` |
41
- | hideLoading | 取消 loading 状态 | `` | `void` |
42
- | disable | 禁用按钮 | `` | `void` |
43
- | enable | 启用按钮 | `` | `void` |
53
+ | showLoading | 展示 loading 状态 | `-` | `void` |
54
+ | hideLoading | 取消 loading 状态 | `-` | `void` |
55
+ | disable | 禁用按钮 | `-` | `void` |
56
+ | enable | 启用按钮 | `-` | `void` |
44
57
 
45
58
  ## 子组件 (Sub-Components)
46
59
  ### ButtonGroup
@@ -66,14 +79,17 @@ import { Button, ButtonGroup } from '@king-design/vue';
66
79
  | btnWidth | `number | string` | 指定按钮组每个按钮的固定宽度 | `<ButtonGroup btnWidth="100px"></ButtonGroup>` |
67
80
 
68
81
  ## 常见错误与正确用法 (Anti-Hallucination)
82
+ ### type 属性值拼写错误
69
83
  > **错误用法**: `<Button type="primay">`
70
84
  > **正确写法**: `<Button type="primary">`
71
85
  > **说明**: type 必须使用预定义的值:default, primary, warning, danger, success, secondary, link, flat, none。常见错误是 primary 拼写为 primay
72
86
 
87
+ ### 使用不存在的 size 值 (Button)
73
88
  > **错误用法**: `<Button size="medium">`
74
89
  > **正确写法**: `<Button size="default">`
75
90
  > **说明**: Button 的 size 只支持 large, default, small, mini。常见错误是使用 medium 值。
76
91
 
92
+ ### 单选/复选按钮组未给 Button 设置 value
77
93
  > **错误用法**: `<ButtonGroup checkType="radio" v-model="selected">
78
94
  <Button>选项A</Button>
79
95
  <Button>选项B</Button>
@@ -0,0 +1,55 @@
1
+ # 链接按钮 (ButtonLink)
2
+
3
+ 外观接近按钮但语义偏链接的操作组件,适合放在详情页头部、说明区或空状态中承载跳转型动作。
4
+
5
+ **关键词**: button link, link button, 链接按钮, 跳转按钮, 文档入口
6
+
7
+ **使用场景**: 操作区链接按钮、详情页跳转入口、空状态引导操作
8
+
9
+ ## 导入语句
10
+ ```typescript
11
+ import { ButtonLink } from '@ksyun-internal/versatile';
12
+ ```
13
+
14
+ ## 插槽 (Slots)
15
+ | 插槽名 | 说明 | 模板写法 | 示例 |
16
+ | --- | --- | --- | --- |
17
+ | default | 按钮内容 | `<ButtonLink>...</ButtonLink>` | - |
18
+
19
+ ## 使用示例
20
+ ### 详情页中的文档跳转入口
21
+ **场景**: 在操作区提供“查看文档”“前往控制台”等跳转动作。
22
+
23
+ 用按钮样式突出跳转动作,同时保持链接语义。
24
+
25
+ ```vue
26
+ <script setup lang="ts">
27
+ import { ButtonLink } from '@ksyun-internal/versatile';
28
+ </script>
29
+
30
+ <template>
31
+ <ButtonLink>查看 API 文档</ButtonLink>
32
+ </template>
33
+ ```
34
+
35
+ ### 空状态跳转入口
36
+ **场景**: 在空状态或帮助提示区提供跳转型操作。
37
+
38
+ 在空状态说明区域中用链接按钮承载引导操作。
39
+
40
+ ```vue
41
+ <script setup lang="ts">
42
+ import { ButtonLink } from '@ksyun-internal/versatile';
43
+ </script>
44
+
45
+ <template>
46
+ <div>
47
+ <p>当前没有可用项目。</p>
48
+ <ButtonLink>前往创建项目</ButtonLink>
49
+ </div>
50
+ </template>
51
+ ```
52
+
53
+ ## 相关组件
54
+ IconTooltip, Actions
55
+
@@ -12,11 +12,11 @@ import { Card, CardColumn } from '@king-design/vue';
12
12
  ```
13
13
 
14
14
  ## 属性 (Props)
15
- | 属性名 | 类型 | 默认值 | 必填 | 说明 | 示例 |
16
- | --- | --- | --- | --- | --- | --- |
17
- | title | `string | VNode` | `undefined` | 否 | 卡片标题 | `<Card title="卡片标题">内容</Card>` |
18
- | type | `"shadow" | "border" | "none"` | `"shadow"` | 否 | 卡片类型,决定卡片的视觉样式 | `<Card type="border" title="边框卡片">内容</Card>` |
19
- | size | `"default" | "small" | "mini"` | `"default"` | 否 | 卡片尺寸 | `<Card size="small" title="小卡片">内容</Card>` |
15
+ | 属性名 | 类型 | 默认值 | 必填 | 说明 | 标签 | 示例 |
16
+ | --- | --- | --- | --- | --- | --- | --- |
17
+ | title | `string | VNode` | `undefined` | 否 | 卡片标题 | - | `<Card title="卡片标题">内容</Card>` |
18
+ | type | `"shadow" | "border" | "none"` | `"shadow"` | 否 | 卡片类型,决定卡片的视觉样式 | - | `<Card type="border" title="边框卡片">内容</Card>` |
19
+ | size | `"default" | "small" | "mini"` | `"default"` | 否 | 卡片尺寸 | - | `<Card size="small" title="小卡片">内容</Card>` |
20
20
 
21
21
  ## 插槽 (Slots)
22
22
  | 插槽名 | 说明 | 模板写法 | 示例 |
@@ -35,14 +35,17 @@ import { Card, CardColumn } from '@king-design/vue';
35
35
  | center | `boolean` | 该列内容是否居中 | `<CardColumn center>居中内容</CardColumn>` |
36
36
 
37
37
  ## 常见错误与正确用法 (Anti-Hallucination)
38
+ ### 使用不存在的 type 值
38
39
  > **错误用法**: `<Card type="bordered">内容</Card>`
39
40
  > **正确写法**: `<Card type="border">内容</Card>`
40
41
  > **说明**: Card 的 type 只支持 shadow, border, none,注意 border 不是 bordered
41
42
 
43
+ ### CardColumn width 未带单位
42
44
  > **错误用法**: `<CardColumn width="100">内容</CardColumn>`
43
45
  > **正确写法**: `<CardColumn width="100px">内容</CardColumn>`
44
46
  > **说明**: CardColumn 的 width 必须带单位,如 px、em、%
45
47
 
48
+ ### 使用不存在的 size 值 (Card)
46
49
  > **错误用法**: `<Card size="large">内容</Card>`
47
50
  > **正确写法**: `<Card size="default">内容</Card>`
48
51
  > **说明**: Card 的 size 只支持 default, small, mini。Card 组件目前不支持 large 尺寸。
@@ -0,0 +1,78 @@
1
+ # 卡片列项 (CardCol)
2
+
3
+ 详情卡片中的单个字段展示组件,适合渲染基础文本、状态、可复制内容或带确认操作的字段项。
4
+
5
+ **关键词**: card col, detail field, 卡片列, 详情字段, 详情项, 卡片字段, 单字段展示, 详情单元
6
+
7
+ **使用场景**: 详情页字段展示、卡片型信息布局、单字段 loading 占位、支持复制和状态展示的详情项
8
+
9
+ ## 导入语句
10
+ ```typescript
11
+ import { CardCol } from '@ksyun-internal/versatile';
12
+ ```
13
+
14
+ ## 属性 (Props)
15
+ | 属性名 | 类型 | 默认值 | 必填 | 说明 | 标签 | 示例 |
16
+ | --- | --- | --- | --- | --- | --- | --- |
17
+ | label | `string` | `undefined` | 否 | 列标题 | - | - |
18
+ | col | `Record<string, any>` | `{}` | 否 | 列配置对象 | - | - |
19
+ | loading | `boolean` | `undefined` | 否 | 是否处于加载状态 | - | - |
20
+ | gap | `number` | `undefined` | 否 | 列内容与标题间距 | - | - |
21
+
22
+ ## 事件 (Events)
23
+ | 事件名 | Vue事件名 | 说明 | 回调参数 | 示例 |
24
+ | --- | --- | --- | --- | --- |
25
+ | change:value | `@change:value` | 字段内部值发生变更时触发,常用于可编辑字段回写。 | `value?: CardColValue` | - |
26
+ | confirmPopover | `@confirmPopover` | 用户确认 Popover 内的二次操作时触发,适合承接危险操作确认。 | `-` | - |
27
+ | hidePopover | `@hidePopover` | 字段上的确认弹层关闭时触发,可用于清理临时状态。 | `-` | - |
28
+
29
+ ### 事件参数说明
30
+ **change:value**
31
+
32
+ | 参数 | 类型 | 必填 | 默认值 | 说明 |
33
+ | --- | --- | --- | --- | --- |
34
+ | value | `CardColValue` | 否 | - | 当前字段最新值,具体类型取决于该列使用的编辑控件。 |
35
+
36
+ ## 使用示例
37
+ ### 详情页中的单字段展示
38
+ **场景**: 在实例详情卡片中展示单条字段并开启复制能力。
39
+
40
+ 用 CardCol 渲染一条实例属性,保持与详情卡片布局一致。
41
+
42
+ **使用的 API**: 属性: label, col, gap
43
+
44
+ ```vue
45
+ <script setup lang="ts">
46
+ import { CardCol } from '@ksyun-internal/versatile';
47
+
48
+ const instanceCol = {
49
+ value: 'i-2ze7x5a4',
50
+ copyable: true,
51
+ };
52
+ </script>
53
+
54
+ <template>
55
+ <CardCol label="实例 ID" :col="instanceCol" :gap="12" />
56
+ </template>
57
+ ```
58
+
59
+ ### 字段加载占位
60
+ **场景**: 在详情页分段加载数据时先渲染单字段占位。
61
+
62
+ 在详情数据尚未返回时先渲染字段级 loading 状态。
63
+
64
+ **使用的 API**: 属性: label, loading
65
+
66
+ ```vue
67
+ <script setup lang="ts">
68
+ import { CardCol } from '@ksyun-internal/versatile';
69
+ </script>
70
+
71
+ <template>
72
+ <CardCol label="公网 IP" :loading="true" />
73
+ </template>
74
+ ```
75
+
76
+ ## 相关组件
77
+ CardCols, CardTabs, CopyHover, Editable
78
+
@@ -0,0 +1,84 @@
1
+ # 卡片列容器 (CardCols)
2
+
3
+ 用于批量组织多个详情字段的卡片列容器,适合把实例、网络、计费等信息按栅格方式排布。
4
+
5
+ **关键词**: card cols, detail grid, 卡片列容器, 详情布局, 字段栅格, 卡片详情区, 多字段展示, 详情栅格
6
+
7
+ **使用场景**: 详情页字段排版、卡片信息栅格布局、两列或三列详情分布、批量渲染多条详情字段
8
+
9
+ ## 导入语句
10
+ ```typescript
11
+ import { CardCols } from '@ksyun-internal/versatile';
12
+ ```
13
+
14
+ ## 属性 (Props)
15
+ | 属性名 | 类型 | 默认值 | 必填 | 说明 | 标签 | 示例 |
16
+ | --- | --- | --- | --- | --- | --- | --- |
17
+ | cols | `CardColItem[]` | `undefined` | 否 | 列配置列表 | - | - |
18
+ | colLength | `number` | `3` | 否 | 每行列数 | - | - |
19
+
20
+ ## 事件 (Events)
21
+ | 事件名 | Vue事件名 | 说明 | 回调参数 | 示例 |
22
+ | --- | --- | --- | --- | --- |
23
+ | change:value | `@change:value` | 任一字段值变化时统一向外抛出,便于父级集中处理。 | `value?: CardColItem[]` | - |
24
+ | confirmPopover | `@confirmPopover` | 列项中的确认弹层完成确认时触发。 | `-` | - |
25
+ | hidePopover | `@hidePopover` | 列项中的确认弹层关闭时触发。 | `-` | - |
26
+
27
+ ### 事件参数说明
28
+ **change:value**
29
+
30
+ | 参数 | 类型 | 必填 | 默认值 | 说明 |
31
+ | --- | --- | --- | --- | --- |
32
+ | value | `CardColItem[]` | 否 | - | 当前卡片字段配置数组,包含每一列的最新值和展示配置。 |
33
+
34
+ ## 使用示例
35
+ ### 实例详情字段栅格布局
36
+ **场景**: 在资源详情页中以三列布局展示基础信息。
37
+
38
+ 通过 cols 配置一次性渲染多条详情字段。
39
+
40
+ **使用的 API**: 属性: cols, colLength
41
+
42
+ ```vue
43
+ <script setup lang="ts">
44
+ import { CardCols } from '@ksyun-internal/versatile';
45
+
46
+ const cols = [
47
+ { label: '实例 ID', value: 'i-2ze7x5a4', copyable: true },
48
+ { label: '可用区', value: 'cn-beijing-6a' },
49
+ { label: '运行状态', value: '运行中' },
50
+ ];
51
+ </script>
52
+
53
+ <template>
54
+ <CardCols :cols="cols" :col-length="3" />
55
+ </template>
56
+ ```
57
+
58
+ ### 两列详情布局
59
+ **场景**: 在字段较长的详情页中改用两列布局提升可读性。
60
+
61
+ 通过 colLength 控制更宽松的两列详情排版。
62
+
63
+ **使用的 API**: 属性: cols, colLength
64
+
65
+ ```vue
66
+ <script setup lang="ts">
67
+ import { CardCols } from '@ksyun-internal/versatile';
68
+
69
+ const cols = [
70
+ { label: '项目名称', value: '核心项目' },
71
+ { label: '计费方式', value: '包年包月' },
72
+ { label: '到期时间', value: '2026-12-31 23:59:59' },
73
+ { label: '可用区', value: 'cn-beijing-6a' },
74
+ ];
75
+ </script>
76
+
77
+ <template>
78
+ <CardCols :cols="cols" :col-length="2" />
79
+ </template>
80
+ ```
81
+
82
+ ## 相关组件
83
+ CardCol, CardTabs
84
+
@@ -2,9 +2,9 @@
2
2
 
3
3
  LayoutContent 内部使用的卡片容器,通常用于包裹具体业务内容。
4
4
 
5
- **关键词**: card, panel, container, 卡片
5
+ **关键词**: card, panel, container, 卡片, 内容卡片, 详情卡片, 卡片容器
6
6
 
7
- **使用场景**: 页面主体内容包裹
7
+ **使用场景**: 页面主体内容包裹、详情页分块信息卡片、带头部操作区的业务内容容器
8
8
 
9
9
  ## 导入语句
10
10
  ```typescript
@@ -12,14 +12,14 @@ import { CardContent } from '@ksyun-internal/versatile';
12
12
  ```
13
13
 
14
14
  ## 属性 (Props)
15
- | 属性名 | 类型 | 默认值 | 必填 | 说明 | 示例 |
16
- | --- | --- | --- | --- | --- | --- |
17
- | title | `string | VNode` | `""` | 否 | 卡片标题 | - |
18
- | type | `"shadow" | "border" | "none"` | `"none"` | 否 | 卡片类型 | - |
19
- | size | `"default" | "small" | "mini"` | `"default"` | 否 | 卡片尺寸 | - |
20
- | scroll | `boolean` | `false` | 否 | 是否支持滚动条 | - |
21
- | halfRadius | `boolean` | `false` | 否 | 卡片顶部是否支持平角,默认支持圆角样式 | - |
22
- | loading | `boolean` | `false` | 否 | 是否为加载中状态 | - |
15
+ | 属性名 | 类型 | 默认值 | 必填 | 说明 | 标签 | 示例 |
16
+ | --- | --- | --- | --- | --- | --- | --- |
17
+ | title | `string | VNode` | `""` | 否 | 卡片标题 | - | - |
18
+ | type | `"shadow" | "border" | "none"` | `"none"` | 否 | 卡片类型 | - | - |
19
+ | size | `"default" | "small" | "mini"` | `"default"` | 否 | 卡片尺寸 | - | - |
20
+ | scroll | `boolean` | `false` | 否 | 是否支持滚动条 | - | - |
21
+ | halfRadius | `boolean` | `false` | 否 | 卡片顶部是否支持平角,默认支持圆角样式 | - | - |
22
+ | loading | `boolean` | `false` | 否 | 是否为加载中状态 | - | - |
23
23
 
24
24
  ## 插槽 (Slots)
25
25
  | 插槽名 | 说明 | 模板写法 | 示例 |