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.
- package/components/actions.json +109 -0
- package/components/advancedset.json +128 -0
- package/components/affix.json +8 -0
- package/components/aksk.json +172 -0
- package/components/anchor.json +220 -0
- package/components/anchorlink.json +111 -0
- package/components/az.json +15 -2
- package/components/badge.json +8 -0
- package/components/billtypes.json +14 -2
- package/components/breadcrumb.json +9 -1
- package/components/button.json +192 -0
- package/components/buttonlink.json +74 -0
- package/components/card.json +14 -4
- package/components/cardcol.json +142 -0
- package/components/cardcols.json +121 -0
- package/components/cardcontent.json +20 -3
- package/components/cardtabs.json +172 -0
- package/components/carousel.json +7 -0
- package/components/cascader.json +576 -368
- package/components/checkbox.json +51 -4
- package/components/cidrinput.json +140 -0
- package/components/code.json +8 -1
- package/components/collapse.json +335 -341
- package/components/colorpicker.json +217 -0
- package/components/configprovider.json +96 -0
- package/components/copy.json +7 -0
- package/components/copyhover.json +111 -0
- package/components/copyrow.json +125 -0
- package/components/datepicker.json +656 -524
- package/components/description.json +98 -0
- package/components/descriptions.json +10 -3
- package/components/diagram.json +295 -0
- package/components/dialog.json +526 -455
- package/components/divider.json +9 -1
- package/components/drawer.json +603 -558
- package/components/dropdown.json +464 -384
- package/components/duration.json +125 -0
- package/components/editable.json +66 -0
- package/components/ellipsis.json +34 -1
- package/components/filtertablefieldsdialog.json +128 -0
- package/components/flex.json +152 -0
- package/components/form.json +143 -3
- package/components/formiteminput.json +214 -0
- package/components/formitemspinner.json +213 -0
- package/components/formitemswitch.json +185 -0
- package/components/formitemtableconfigs.json +210 -0
- package/components/grid.json +7 -0
- package/components/header.json +165 -0
- package/components/icon.json +13 -1
- package/components/icontooltip.json +19 -1
- package/components/input.json +196 -8
- package/components/instancelist.json +194 -0
- package/components/instancenum.json +196 -0
- package/components/ipinput.json +117 -0
- package/components/kspstatus.json +205 -0
- package/components/kvcode.json +120 -0
- package/components/layoutcontent.json +24 -3
- package/components/layoutlistcontent.json +157 -0
- package/components/layoutpermissioncontent.json +156 -0
- package/components/layoutstandardlist.json +276 -0
- package/components/layouttabs.json +168 -0
- package/components/lazymount.json +87 -0
- package/components/lazyteleport.json +119 -0
- package/components/menu.json +11 -3
- package/components/notification.json +351 -0
- package/components/pagination.json +12 -0
- package/components/paginationplus.json +30 -3
- package/components/password.json +121 -0
- package/components/popover.json +457 -437
- package/components/projects.json +129 -0
- package/components/protable.json +99 -8
- package/components/queuevisualrange.json +110 -0
- package/components/radio.json +82 -2
- package/components/rate.json +200 -0
- package/components/region.json +14 -2
- package/components/scrollselect.json +140 -0
- package/components/search.json +221 -0
- package/components/searchinput.json +132 -0
- package/components/searchitems.json +215 -0
- package/components/searchselect.json +195 -0
- package/components/select.json +749 -666
- package/components/sidebar.json +198 -0
- package/components/skeleton.json +234 -0
- package/components/slider.json +12 -2
- package/components/spin.json +10 -2
- package/components/spinner.json +419 -429
- package/components/split.json +263 -0
- package/components/sshkeys.json +138 -0
- package/components/status.json +60 -3
- package/components/steps.json +7 -0
- package/components/switch.json +12 -3
- package/components/table.json +24 -2
- package/components/tablecolumnid.json +14 -2
- package/components/tabs.json +14 -2
- package/components/tag.json +8 -5
- package/components/timeline.json +215 -0
- package/components/timepicker.json +147 -3
- package/components/timerange.json +262 -0
- package/components/tip.json +27 -0
- package/components/tooltip.json +492 -395
- package/components/tour.json +418 -372
- package/components/transfer.json +79 -8
- package/components/tree.json +28 -5
- package/components/treeselect.json +612 -475
- package/components/upload.json +474 -473
- package/components/vdialog.json +309 -0
- package/components/vdrawer.json +335 -0
- package/components/virtuallist.json +7 -0
- package/dist/ast/index.d.mts +65 -2
- package/dist/ast/index.d.ts +65 -2
- package/dist/ast/index.js +4 -3
- package/dist/ast/index.mjs +2 -1
- package/dist/chunk-4OTQAQ6J.mjs +341 -0
- package/dist/{chunk-F26GUCGG.js → chunk-4WXOYU2N.js} +32 -9
- package/dist/chunk-6HOIRUQB.mjs +409 -0
- package/dist/chunk-DHLWNT53.js +364 -0
- package/dist/{chunk-H2ET6MMM.mjs → chunk-IPJJMPOO.mjs} +155 -66
- package/dist/{chunk-WYSRJVX4.js → chunk-JJ6AB4ZH.js} +2 -2
- package/dist/{chunk-2W6OCG2S.js → chunk-JNRGUR3O.js} +155 -67
- package/dist/chunk-KF5YBEM5.js +143 -0
- package/dist/{chunk-OJOHB64C.mjs → chunk-LRTDTFFQ.mjs} +28 -5
- package/dist/{chunk-DSWKLUIX.mjs → chunk-NZL6T22V.mjs} +1 -1
- package/dist/chunk-QC6VTSA3.mjs +117 -0
- package/dist/chunk-V5N65MRP.js +411 -0
- package/dist/full/index.d.mts +2 -0
- package/dist/full/index.d.ts +2 -0
- package/dist/full/index.js +7 -6
- package/dist/full/index.mjs +5 -4
- package/dist/index.d.mts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +14 -13
- package/dist/index.mjs +6 -5
- package/dist/metadata/index.d.mts +38 -3
- package/dist/metadata/index.d.ts +38 -3
- package/dist/metadata/index.js +26 -16
- package/dist/metadata/index.mjs +26 -15
- package/dist/resolve-BsLBxlBi.d.mts +24 -0
- package/dist/resolve-BsLBxlBi.d.ts +24 -0
- package/dist/runtime/index.d.mts +2 -0
- package/dist/runtime/index.d.ts +2 -0
- package/dist/runtime/index.js +4 -4
- package/dist/runtime/index.mjs +2 -2
- package/dist/shared/index.d.mts +10 -0
- package/dist/shared/index.d.ts +10 -0
- package/dist/shared/index.js +23 -0
- package/dist/shared/index.mjs +2 -0
- package/dist/static/index.js +5 -5
- package/dist/static/index.mjs +2 -2
- package/docs_for_llm/actions.doc.md +87 -0
- package/docs_for_llm/advancedset.doc.md +98 -0
- package/docs_for_llm/affix.doc.md +20 -7
- package/docs_for_llm/aksk.doc.md +111 -0
- package/docs_for_llm/anchor.doc.md +155 -0
- package/docs_for_llm/anchorlink.doc.md +75 -0
- package/docs_for_llm/az.doc.md +17 -11
- package/docs_for_llm/badge.doc.md +11 -5
- package/docs_for_llm/billtypes.doc.md +17 -11
- package/docs_for_llm/breadcrumb.doc.md +80 -4
- package/docs_for_llm/button.doc.md +91 -18
- package/docs_for_llm/buttonlink.doc.md +64 -0
- package/docs_for_llm/card.doc.md +58 -8
- package/docs_for_llm/cardcol.doc.md +78 -0
- package/docs_for_llm/cardcols.doc.md +84 -0
- package/docs_for_llm/cardcontent.doc.md +31 -10
- package/docs_for_llm/cardtabs.doc.md +106 -0
- package/docs_for_llm/carousel.doc.md +79 -7
- package/docs_for_llm/cascader.doc.md +106 -23
- package/docs_for_llm/checkbox.doc.md +25 -13
- package/docs_for_llm/cidrinput.doc.md +83 -0
- package/docs_for_llm/code.doc.md +22 -11
- package/docs_for_llm/collapse.doc.md +147 -14
- package/docs_for_llm/colorpicker.doc.md +104 -0
- package/docs_for_llm/configprovider.doc.md +77 -0
- package/docs_for_llm/copy.doc.md +15 -13
- package/docs_for_llm/copyhover.doc.md +59 -0
- package/docs_for_llm/copyrow.doc.md +80 -0
- package/docs_for_llm/datepicker.doc.md +66 -35
- package/docs_for_llm/description.doc.md +75 -0
- package/docs_for_llm/descriptions.doc.md +122 -10
- package/docs_for_llm/diagram.doc.md +343 -0
- package/docs_for_llm/dialog.doc.md +97 -77
- package/docs_for_llm/divider.doc.md +14 -7
- package/docs_for_llm/drawer.doc.md +114 -69
- package/docs_for_llm/dropdown.doc.md +290 -22
- package/docs_for_llm/duration.doc.md +76 -0
- package/docs_for_llm/editable.doc.md +36 -14
- package/docs_for_llm/ellipsis.doc.md +10 -5
- package/docs_for_llm/filtertablefieldsdialog.doc.md +99 -0
- package/docs_for_llm/flex.doc.md +83 -0
- package/docs_for_llm/form.doc.md +196 -18
- package/docs_for_llm/formiteminput.doc.md +128 -0
- package/docs_for_llm/formitemspinner.doc.md +105 -0
- package/docs_for_llm/formitemswitch.doc.md +113 -0
- package/docs_for_llm/formitemtableconfigs.doc.md +95 -0
- package/docs_for_llm/grid.doc.md +78 -5
- package/docs_for_llm/header.doc.md +114 -0
- package/docs_for_llm/icon.doc.md +12 -8
- package/docs_for_llm/icontooltip.doc.md +121 -0
- package/docs_for_llm/input.doc.md +199 -41
- package/docs_for_llm/instancelist.doc.md +113 -0
- package/docs_for_llm/instancenum.doc.md +95 -0
- package/docs_for_llm/ipinput.doc.md +77 -0
- package/docs_for_llm/kspstatus.doc.md +82 -0
- package/docs_for_llm/kvcode.doc.md +76 -0
- package/docs_for_llm/layoutcontent.doc.md +54 -17
- package/docs_for_llm/layoutlistcontent.doc.md +168 -0
- package/docs_for_llm/layoutpermissioncontent.doc.md +93 -0
- package/docs_for_llm/layoutstandardlist.doc.md +129 -0
- package/docs_for_llm/layouttabs.doc.md +101 -0
- package/docs_for_llm/lazymount.doc.md +82 -0
- package/docs_for_llm/lazyteleport.doc.md +85 -0
- package/docs_for_llm/menu.doc.md +139 -14
- package/docs_for_llm/message.doc.md +93 -10
- package/docs_for_llm/notification.doc.md +214 -0
- package/docs_for_llm/pagination.doc.md +30 -17
- package/docs_for_llm/paginationplus.doc.md +31 -10
- package/docs_for_llm/password.doc.md +86 -0
- package/docs_for_llm/popover.doc.md +24 -55
- package/docs_for_llm/progress.doc.md +13 -10
- package/docs_for_llm/projects.doc.md +91 -0
- package/docs_for_llm/protable.doc.md +98 -15
- package/docs_for_llm/queuevisualrange.doc.md +78 -0
- package/docs_for_llm/radio.doc.md +23 -8
- package/docs_for_llm/rate.doc.md +127 -0
- package/docs_for_llm/region.doc.md +25 -13
- package/docs_for_llm/scrollselect.doc.md +90 -0
- package/docs_for_llm/search.doc.md +120 -0
- package/docs_for_llm/searchinput.doc.md +111 -0
- package/docs_for_llm/searchitems.doc.md +116 -0
- package/docs_for_llm/searchselect.doc.md +126 -0
- package/docs_for_llm/select.doc.md +208 -49
- package/docs_for_llm/sidebar.doc.md +133 -0
- package/docs_for_llm/skeleton.doc.md +152 -0
- package/docs_for_llm/slider.doc.md +42 -22
- package/docs_for_llm/spin.doc.md +18 -6
- package/docs_for_llm/spinner.doc.md +28 -18
- package/docs_for_llm/split.doc.md +170 -0
- package/docs_for_llm/sshkeys.doc.md +88 -0
- package/docs_for_llm/status.doc.md +14 -9
- package/docs_for_llm/steps.doc.md +81 -7
- package/docs_for_llm/switch.doc.md +32 -16
- package/docs_for_llm/table.doc.md +317 -55
- package/docs_for_llm/tablecolumnid.doc.md +36 -16
- package/docs_for_llm/tabs.doc.md +117 -12
- package/docs_for_llm/tag.doc.md +167 -15
- package/docs_for_llm/timeline.doc.md +187 -0
- package/docs_for_llm/timepicker.doc.md +74 -36
- package/docs_for_llm/timerange.doc.md +157 -0
- package/docs_for_llm/tip.doc.md +50 -11
- package/docs_for_llm/tooltip.doc.md +99 -27
- package/docs_for_llm/tour.doc.md +125 -28
- package/docs_for_llm/transfer.doc.md +99 -33
- package/docs_for_llm/tree.doc.md +129 -24
- package/docs_for_llm/treeselect.doc.md +101 -44
- package/docs_for_llm/upload.doc.md +63 -32
- package/docs_for_llm/useCRUD.doc.md +49 -0
- package/docs_for_llm/useCountdown.doc.md +43 -0
- package/docs_for_llm/useDetail.doc.md +48 -0
- package/docs_for_llm/useDialog.doc.md +46 -0
- package/docs_for_llm/useEntity.doc.md +45 -0
- package/docs_for_llm/useEventListener.doc.md +44 -0
- package/docs_for_llm/useFalseUntilTruthy.doc.md +41 -0
- package/docs_for_llm/useGetCopyAuthText.doc.md +35 -0
- package/docs_for_llm/useGetUserPermission.doc.md +43 -0
- package/docs_for_llm/useGroup.doc.md +48 -0
- package/docs_for_llm/useIdEntities.doc.md +48 -0
- package/docs_for_llm/useIdEntity.doc.md +103 -0
- package/docs_for_llm/useInterval.doc.md +43 -0
- package/docs_for_llm/useLayoutStandardList.doc.md +38 -0
- package/docs_for_llm/useMessage.doc.md +46 -0
- package/docs_for_llm/useModifyCache.doc.md +37 -0
- package/docs_for_llm/useOpenDialog.doc.md +41 -0
- package/docs_for_llm/usePagination.doc.md +60 -0
- package/docs_for_llm/usePersist.doc.md +54 -0
- package/docs_for_llm/usePoll.doc.md +41 -0
- package/docs_for_llm/useRoutePlus.doc.md +34 -0
- package/docs_for_llm/useRouterPlus.doc.md +34 -0
- package/docs_for_llm/useSearch.doc.md +68 -0
- package/docs_for_llm/useShell.doc.md +43 -0
- package/docs_for_llm/useSkip.doc.md +41 -0
- package/docs_for_llm/useStorageIdEntity.doc.md +46 -0
- package/docs_for_llm/useStore.doc.md +34 -0
- package/docs_for_llm/useTable.doc.md +57 -0
- package/docs_for_llm/useTableGroup.doc.md +47 -0
- package/docs_for_llm/useTableSort.doc.md +40 -0
- package/docs_for_llm/useToState.doc.md +112 -0
- package/docs_for_llm/useUser.doc.md +38 -0
- package/docs_for_llm/useValidForm.doc.md +41 -0
- package/docs_for_llm/vdialog.doc.md +154 -0
- package/docs_for_llm/vdrawer.doc.md +148 -0
- package/docs_for_llm/virtuallist.doc.md +157 -3
- package/hooks/useCRUD.json +61 -0
- package/hooks/useCountdown.json +49 -0
- package/hooks/useDetail.json +67 -0
- package/hooks/useDialog.json +49 -0
- package/hooks/useEntity.json +61 -0
- package/hooks/useEventListener.json +61 -0
- package/hooks/useFalseUntilTruthy.json +43 -0
- package/hooks/useGetCopyAuthText.json +36 -0
- package/hooks/useGetUserPermission.json +55 -0
- package/hooks/useGroup.json +49 -0
- package/hooks/useIdEntities.json +61 -0
- package/hooks/useInterval.json +55 -0
- package/hooks/useLayoutStandardList.json +36 -0
- package/hooks/useMessage.json +73 -0
- package/hooks/useModifyCache.json +36 -0
- package/hooks/useOpenDialog.json +43 -0
- package/hooks/usePagination.json +49 -0
- package/hooks/usePersist.json +61 -0
- package/hooks/usePoll.json +43 -0
- package/hooks/useRoutePlus.json +36 -0
- package/hooks/useRouterPlus.json +36 -0
- package/hooks/useSearch.json +56 -0
- package/hooks/useShell.json +49 -0
- package/hooks/useSkip.json +43 -0
- package/hooks/useStorageIdEntity.json +67 -0
- package/hooks/useStore.json +36 -0
- package/hooks/useTable.json +49 -0
- package/hooks/useTableGroup.json +43 -0
- package/hooks/useTableSort.json +43 -0
- package/hooks/useUser.json +36 -0
- package/hooks/useValidForm.json +43 -0
- package/package.json +14 -8
- package/dist/chunk-D3Y6FGWA.js +0 -153
- package/dist/chunk-HPAUCD5I.js +0 -156
- package/dist/chunk-L4DS3EXI.mjs +0 -133
- package/dist/chunk-NZ6TLWMD.mjs +0 -151
|
@@ -12,40 +12,85 @@ 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
|
-
|
|
|
26
|
-
|
|
|
27
|
-
|
|
|
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
|
| 插槽名 | 说明 | 模板写法 | 示例 |
|
|
34
47
|
| --- | --- | --- | --- |
|
|
35
48
|
| default | 按钮内容 | `#default` | `<Button>按钮文字</Button>` |
|
|
36
49
|
|
|
50
|
+
### 插槽参数说明
|
|
51
|
+
**default**
|
|
52
|
+
|
|
53
|
+
- 参数结构: 无参数
|
|
54
|
+
|
|
37
55
|
## 方法 (Methods)
|
|
38
56
|
| 方法名 | 说明 | 参数 | 返回值 |
|
|
39
57
|
| --- | --- | --- | --- |
|
|
40
|
-
| showLoading | 展示 loading 状态 |
|
|
41
|
-
| hideLoading | 取消 loading 状态 |
|
|
42
|
-
| disable | 禁用按钮 |
|
|
43
|
-
| enable | 启用按钮 |
|
|
58
|
+
| showLoading | 展示 loading 状态 | `-` | `void` |
|
|
59
|
+
| hideLoading | 取消 loading 状态 | `-` | `void` |
|
|
60
|
+
| disable | 禁用按钮 | `-` | `void` |
|
|
61
|
+
| enable | 启用按钮 | `-` | `void` |
|
|
62
|
+
|
|
63
|
+
### 方法调用示例
|
|
64
|
+
**showLoading**
|
|
65
|
+
|
|
66
|
+
```typescript
|
|
67
|
+
const buttonRef = ref<InstanceType<typeof Button>>();
|
|
68
|
+
buttonRef.value?.showLoading();</InstanceType>
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
**hideLoading**
|
|
72
|
+
|
|
73
|
+
```typescript
|
|
74
|
+
buttonRef.value?.hideLoading();
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
**disable**
|
|
78
|
+
|
|
79
|
+
```typescript
|
|
80
|
+
buttonRef.value?.disable();
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
**enable**
|
|
84
|
+
|
|
85
|
+
```typescript
|
|
86
|
+
buttonRef.value?.enable();
|
|
87
|
+
```
|
|
44
88
|
|
|
45
89
|
## 子组件 (Sub-Components)
|
|
46
90
|
### ButtonGroup
|
|
47
91
|
按钮组容器,可实现按钮组合、单选组、复选组等功能
|
|
48
92
|
|
|
93
|
+
#### 属性 (Props)
|
|
49
94
|
| 属性名 | 类型 | 说明 | 示例 |
|
|
50
95
|
| --- | --- | --- | --- |
|
|
51
96
|
| vertical | `boolean` | 是否垂直排列按钮组 | `<ButtonGroup vertical>
|
|
@@ -65,15 +110,43 @@ import { Button, ButtonGroup } from '@king-design/vue';
|
|
|
65
110
|
</ButtonGroup>` |
|
|
66
111
|
| btnWidth | `number | string` | 指定按钮组每个按钮的固定宽度 | `<ButtonGroup btnWidth="100px"></ButtonGroup>` |
|
|
67
112
|
|
|
113
|
+
#### 组合示例
|
|
114
|
+
##### 单选按钮组
|
|
115
|
+
**场景**: 创建一个城市选择的单选按钮组,支持双向绑定
|
|
116
|
+
|
|
117
|
+
使用ButtonGroup实现单选功能
|
|
118
|
+
|
|
119
|
+
**命中的子组件 API**: 属性: checkType
|
|
120
|
+
|
|
121
|
+
```vue
|
|
122
|
+
<script setup lang="ts">
|
|
123
|
+
import { ref } from 'vue';
|
|
124
|
+
import { Button, ButtonGroup } from '@king-design/vue';
|
|
125
|
+
|
|
126
|
+
const selected = ref('beijing');
|
|
127
|
+
</script>
|
|
128
|
+
<template>
|
|
129
|
+
<ButtonGroup checkType="radio" v-model="selected">
|
|
130
|
+
<Button value="beijing">北京</Button>
|
|
131
|
+
<Button value="shanghai">上海</Button>
|
|
132
|
+
<Button value="guangzhou">广州</Button>
|
|
133
|
+
</ButtonGroup>
|
|
134
|
+
<p>当前选中: {{ selected }}</p>
|
|
135
|
+
</template>
|
|
136
|
+
```
|
|
137
|
+
|
|
68
138
|
## 常见错误与正确用法 (Anti-Hallucination)
|
|
139
|
+
### type 属性值拼写错误
|
|
69
140
|
> **错误用法**: `<Button type="primay">`
|
|
70
141
|
> **正确写法**: `<Button type="primary">`
|
|
71
142
|
> **说明**: type 必须使用预定义的值:default, primary, warning, danger, success, secondary, link, flat, none。常见错误是 primary 拼写为 primay
|
|
72
143
|
|
|
144
|
+
### 使用不存在的 size 值 (Button)
|
|
73
145
|
> **错误用法**: `<Button size="medium">`
|
|
74
146
|
> **正确写法**: `<Button size="default">`
|
|
75
147
|
> **说明**: Button 的 size 只支持 large, default, small, mini。常见错误是使用 medium 值。
|
|
76
148
|
|
|
149
|
+
### 单选/复选按钮组未给 Button 设置 value
|
|
77
150
|
> **错误用法**: `<ButtonGroup checkType="radio" v-model="selected">
|
|
78
151
|
<Button>选项A</Button>
|
|
79
152
|
<Button>选项B</Button>
|
|
@@ -0,0 +1,64 @@
|
|
|
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>` | `<ButtonLink>
|
|
18
|
+
<template <ButtonLink>...</ButtonLink>>
|
|
19
|
+
自定义default内容
|
|
20
|
+
</template>
|
|
21
|
+
</ButtonLink>` |
|
|
22
|
+
|
|
23
|
+
### 插槽参数说明
|
|
24
|
+
**default**
|
|
25
|
+
|
|
26
|
+
- 参数结构: 无参数
|
|
27
|
+
|
|
28
|
+
## 使用示例
|
|
29
|
+
### 详情页中的文档跳转入口
|
|
30
|
+
**场景**: 在操作区提供“查看文档”“前往控制台”等跳转动作。
|
|
31
|
+
|
|
32
|
+
用按钮样式突出跳转动作,同时保持链接语义。
|
|
33
|
+
|
|
34
|
+
```vue
|
|
35
|
+
<script setup lang="ts">
|
|
36
|
+
import { ButtonLink } from '@ksyun-internal/versatile';
|
|
37
|
+
</script>
|
|
38
|
+
|
|
39
|
+
<template>
|
|
40
|
+
<ButtonLink>查看 API 文档</ButtonLink>
|
|
41
|
+
</template>
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### 空状态跳转入口
|
|
45
|
+
**场景**: 在空状态或帮助提示区提供跳转型操作。
|
|
46
|
+
|
|
47
|
+
在空状态说明区域中用链接按钮承载引导操作。
|
|
48
|
+
|
|
49
|
+
```vue
|
|
50
|
+
<script setup lang="ts">
|
|
51
|
+
import { ButtonLink } from '@ksyun-internal/versatile';
|
|
52
|
+
</script>
|
|
53
|
+
|
|
54
|
+
<template>
|
|
55
|
+
<div>
|
|
56
|
+
<p>当前没有可用项目。</p>
|
|
57
|
+
<ButtonLink>前往创建项目</ButtonLink>
|
|
58
|
+
</div>
|
|
59
|
+
</template>
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## 相关组件
|
|
63
|
+
IconTooltip, Actions
|
|
64
|
+
|
package/docs_for_llm/card.doc.md
CHANGED
|
@@ -12,37 +12,87 @@ 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
|
| 插槽名 | 说明 | 模板写法 | 示例 |
|
|
23
23
|
| --- | --- | --- | --- |
|
|
24
|
-
| header | 扩展整个头部内容 | `
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
| header | 扩展整个头部内容 | `#header` | `<Card>
|
|
25
|
+
<template #header>头部内容</template>
|
|
26
|
+
</Card>` |
|
|
27
|
+
| title | 扩展头部标题内容 | `#title` | `<Card>
|
|
28
|
+
<template #title>自定义标题</template>
|
|
29
|
+
</Card>` |
|
|
30
|
+
| extra | 扩展头部附加内容 | `#extra` | `<Card>
|
|
31
|
+
<template #extra>
|
|
32
|
+
自定义extra内容
|
|
33
|
+
</template>
|
|
34
|
+
</Card>` |
|
|
35
|
+
|
|
36
|
+
### 插槽参数说明
|
|
37
|
+
**header**
|
|
38
|
+
|
|
39
|
+
- 参数结构: 无参数
|
|
40
|
+
|
|
41
|
+
**title**
|
|
42
|
+
|
|
43
|
+
- 参数结构: 无参数
|
|
44
|
+
|
|
45
|
+
**extra**
|
|
46
|
+
|
|
47
|
+
- 参数结构: 无参数
|
|
27
48
|
|
|
28
49
|
## 子组件 (Sub-Components)
|
|
29
50
|
### CardColumn
|
|
30
51
|
卡片列组件,用于实现卡片内的多列布局
|
|
31
52
|
|
|
53
|
+
#### 属性 (Props)
|
|
32
54
|
| 属性名 | 类型 | 说明 | 示例 |
|
|
33
55
|
| --- | --- | --- | --- |
|
|
34
56
|
| width | `string` | 列宽,必须带单位 | `<CardColumn width="100px">内容</CardColumn>` |
|
|
35
57
|
| center | `boolean` | 该列内容是否居中 | `<CardColumn center>居中内容</CardColumn>` |
|
|
36
58
|
|
|
59
|
+
#### 组合示例
|
|
60
|
+
##### 多列布局
|
|
61
|
+
**场景**: 创建带有头像和信息的多列卡片
|
|
62
|
+
|
|
63
|
+
使用 CardColumn 实现多列布局
|
|
64
|
+
|
|
65
|
+
**命中的子组件 API**: 属性: width, center
|
|
66
|
+
|
|
67
|
+
```vue
|
|
68
|
+
<script setup lang="ts">
|
|
69
|
+
import { Card, CardColumn } from '@king-design/vue';
|
|
70
|
+
</script>
|
|
71
|
+
<template>
|
|
72
|
+
<Card title="用户信息">
|
|
73
|
+
<CardColumn width="100px" center>
|
|
74
|
+
<img src="avatar.png" style="width: 80px; height: 80px; border-radius: 50%;" />
|
|
75
|
+
</CardColumn>
|
|
76
|
+
<CardColumn>
|
|
77
|
+
<h4>用户名称</h4>
|
|
78
|
+
<p>这是用户的详细描述信息</p>
|
|
79
|
+
</CardColumn>
|
|
80
|
+
</Card>
|
|
81
|
+
</template>
|
|
82
|
+
```
|
|
83
|
+
|
|
37
84
|
## 常见错误与正确用法 (Anti-Hallucination)
|
|
85
|
+
### 使用不存在的 type 值
|
|
38
86
|
> **错误用法**: `<Card type="bordered">内容</Card>`
|
|
39
87
|
> **正确写法**: `<Card type="border">内容</Card>`
|
|
40
88
|
> **说明**: Card 的 type 只支持 shadow, border, none,注意 border 不是 bordered
|
|
41
89
|
|
|
90
|
+
### CardColumn width 未带单位
|
|
42
91
|
> **错误用法**: `<CardColumn width="100">内容</CardColumn>`
|
|
43
92
|
> **正确写法**: `<CardColumn width="100px">内容</CardColumn>`
|
|
44
93
|
> **说明**: CardColumn 的 width 必须带单位,如 px、em、%
|
|
45
94
|
|
|
95
|
+
### 使用不存在的 size 值 (Card)
|
|
46
96
|
> **错误用法**: `<Card size="large">内容</Card>`
|
|
47
97
|
> **正确写法**: `<Card size="default">内容</Card>`
|
|
48
98
|
> **说明**: 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
|
| 插槽名 | 说明 | 模板写法 | 示例 |
|
|
@@ -30,3 +30,24 @@ import { CardContent } from '@ksyun-internal/versatile';
|
|
|
30
30
|
| prepend | 扩展卡片操作栏上面部分内容 | `<template #prepend>...</template>` | `<CardContent><template #prepend><Alert>提示信息</Alert></template></CardContent>` |
|
|
31
31
|
| extra | 扩展头部附加内容 | `<template #extra>...</template>` | `<CardContent title="标题"><template #extra><Link>查看更多</Link></template></CardContent>` |
|
|
32
32
|
|
|
33
|
+
### 插槽参数说明
|
|
34
|
+
**default**
|
|
35
|
+
|
|
36
|
+
- 参数结构: 无参数
|
|
37
|
+
|
|
38
|
+
**opLeft**
|
|
39
|
+
|
|
40
|
+
- 参数结构: 无参数
|
|
41
|
+
|
|
42
|
+
**opRight**
|
|
43
|
+
|
|
44
|
+
- 参数结构: 无参数
|
|
45
|
+
|
|
46
|
+
**prepend**
|
|
47
|
+
|
|
48
|
+
- 参数结构: 无参数
|
|
49
|
+
|
|
50
|
+
**extra**
|
|
51
|
+
|
|
52
|
+
- 参数结构: 无参数
|
|
53
|
+
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# 卡片标签页 (CardTabs)
|
|
2
|
+
|
|
3
|
+
带卡片视觉风格的标签切换组件,适合详情页顶部在“概览、监控、操作日志”等信息块之间切换。
|
|
4
|
+
|
|
5
|
+
**关键词**: card tabs, detail tabs, 卡片标签, 卡片页签, 详情页签, 信息块切换, tabs, tab switch
|
|
6
|
+
|
|
7
|
+
**使用场景**: 详情页卡片切换、多块信息切换、基于后端字段映射的标签切换、概览与监控等内容分区
|
|
8
|
+
|
|
9
|
+
## 导入语句
|
|
10
|
+
```typescript
|
|
11
|
+
import { CardTabs } from '@ksyun-internal/versatile';
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## 属性 (Props)
|
|
15
|
+
| 属性名 | 类型 | 默认值 | 必填 | 说明 | 标签 | 示例 |
|
|
16
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
17
|
+
| modelValue | `string | number` | `undefined` | 否 | 当前选中的标签值 | - | - |
|
|
18
|
+
| tabs | `any[]` | `undefined` | 否 | 标签数据列表 | - | - |
|
|
19
|
+
| tabLabelName | `string` | `"label"` | 否 | 标签文案字段名 | - | - |
|
|
20
|
+
| tabValueName | `string` | `"value"` | 否 | 标签值字段名 | - | - |
|
|
21
|
+
| data | `any[]` | `undefined` | 否 | 每个标签对应的卡片内容数据 | - | - |
|
|
22
|
+
|
|
23
|
+
## 事件 (Events)
|
|
24
|
+
| 事件名 | Vue事件名 | 说明 | 回调参数 | 示例 |
|
|
25
|
+
| --- | --- | --- | --- | --- |
|
|
26
|
+
| update:modelValue | `@update:modelValue` | 当前激活标签值变化时触发,可直接驱动外层 `v-model`。 | `value?: string | number` | - |
|
|
27
|
+
| change:value | `@change:value` | 标签切换并得到新的 value 时触发,通常用于请求对应数据。 | `value?: string | number` | - |
|
|
28
|
+
| update:tab | `@update:tab` | 当前选中的完整 tab 对象变化时触发,便于读取 tab 上的额外配置。 | `value?: CardTabItem` | - |
|
|
29
|
+
|
|
30
|
+
### 事件参数说明
|
|
31
|
+
**update:modelValue**
|
|
32
|
+
|
|
33
|
+
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|
|
34
|
+
| --- | --- | --- | --- | --- |
|
|
35
|
+
| value | `string | number` | 否 | - | 当前激活标签的 value。 |
|
|
36
|
+
|
|
37
|
+
**change:value**
|
|
38
|
+
|
|
39
|
+
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|
|
40
|
+
| --- | --- | --- | --- | --- |
|
|
41
|
+
| value | `string | number` | 否 | - | 当前切换后的标签值。 |
|
|
42
|
+
|
|
43
|
+
**update:tab**
|
|
44
|
+
|
|
45
|
+
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|
|
46
|
+
| --- | --- | --- | --- | --- |
|
|
47
|
+
| value | `CardTabItem` | 否 | - | 当前激活的完整标签项对象。 |
|
|
48
|
+
|
|
49
|
+
## 使用示例
|
|
50
|
+
### 详情页中的卡片标签切换
|
|
51
|
+
**场景**: 在详情卡片头部切换不同业务分区。
|
|
52
|
+
|
|
53
|
+
用 CardTabs 在卡片区域切换不同信息块。
|
|
54
|
+
|
|
55
|
+
**使用的 API**: 属性: modelValue, tabs | 事件: update:modelValue
|
|
56
|
+
|
|
57
|
+
```vue
|
|
58
|
+
<script setup lang="ts">
|
|
59
|
+
import { ref } from 'vue';
|
|
60
|
+
import { CardTabs } from '@ksyun-internal/versatile';
|
|
61
|
+
|
|
62
|
+
const activeTab = ref('base');
|
|
63
|
+
const tabs = [
|
|
64
|
+
{ label: '基本信息', value: 'base' },
|
|
65
|
+
{ label: '监控图表', value: 'monitor' },
|
|
66
|
+
{ label: '变更记录', value: 'logs' },
|
|
67
|
+
];
|
|
68
|
+
</script>
|
|
69
|
+
|
|
70
|
+
<template>
|
|
71
|
+
<CardTabs v-model="activeTab" :tabs="tabs" />
|
|
72
|
+
</template>
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### 自定义标签字段名
|
|
76
|
+
**场景**: 直接复用后端返回的 tab 数据结构而不做额外转换。
|
|
77
|
+
|
|
78
|
+
当后端返回的字段名不是 label/value 时,可通过映射字段使用。
|
|
79
|
+
|
|
80
|
+
**使用的 API**: 属性: modelValue, tabs, tabLabelName, tabValueName | 事件: update:modelValue
|
|
81
|
+
|
|
82
|
+
```vue
|
|
83
|
+
<script setup lang="ts">
|
|
84
|
+
import { ref } from 'vue';
|
|
85
|
+
import { CardTabs } from '@ksyun-internal/versatile';
|
|
86
|
+
|
|
87
|
+
const activeTab = ref('network');
|
|
88
|
+
const tabs = [
|
|
89
|
+
{ name: '基础信息', id: 'base' },
|
|
90
|
+
{ name: '网络配置', id: 'network' },
|
|
91
|
+
];
|
|
92
|
+
</script>
|
|
93
|
+
|
|
94
|
+
<template>
|
|
95
|
+
<CardTabs
|
|
96
|
+
v-model="activeTab"
|
|
97
|
+
:tabs="tabs"
|
|
98
|
+
tab-label-name="name"
|
|
99
|
+
tab-value-name="id"
|
|
100
|
+
/>
|
|
101
|
+
</template>
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
## 相关组件
|
|
105
|
+
LayoutTabs, CardCols, CardCol
|
|
106
|
+
|