king-design-analyzer 2.1.7 → 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.
- package/components/actions.json +101 -0
- package/components/advancedset.json +127 -0
- package/components/affix.json +7 -0
- package/components/aksk.json +172 -0
- package/components/az.json +15 -2
- package/components/badge.json +7 -0
- package/components/billtypes.json +14 -2
- package/components/breadcrumb.json +7 -0
- package/components/button.json +191 -0
- package/components/buttonlink.json +73 -0
- package/components/card.json +8 -1
- package/components/cardcol.json +142 -0
- package/components/cardcols.json +121 -0
- package/components/cardcontent.json +15 -3
- package/components/cardtabs.json +172 -0
- package/components/carousel.json +7 -0
- package/components/cascader.json +520 -368
- package/components/checkbox.json +51 -4
- package/components/cidrinput.json +140 -0
- package/components/code.json +8 -1
- package/components/collapse.json +7 -0
- package/components/colorpicker.json +217 -0
- package/components/copy.json +7 -0
- package/components/copyhover.json +111 -0
- package/components/copyrow.json +124 -0
- package/components/datepicker.json +656 -524
- package/components/description.json +98 -0
- package/components/dialog.json +522 -455
- package/components/divider.json +8 -1
- package/components/drawer.json +571 -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 +151 -0
- package/components/form.json +131 -0
- 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 +161 -0
- package/components/icon.json +13 -1
- package/components/icontooltip.json +19 -1
- package/components/input.json +188 -4
- 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 +15 -3
- package/components/layoutlistcontent.json +148 -0
- package/components/layoutpermissioncontent.json +155 -0
- package/components/layoutstandardlist.json +275 -0
- package/components/layouttabs.json +168 -0
- package/components/lazymount.json +86 -0
- package/components/lazyteleport.json +118 -0
- package/components/menu.json +7 -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 +97 -8
- package/components/queuevisualrange.json +110 -0
- package/components/radio.json +82 -2
- package/components/rate.json +199 -0
- package/components/region.json +14 -2
- 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 +686 -666
- package/components/sidebar.json +198 -0
- package/components/skeleton.json +233 -0
- package/components/spin.json +8 -1
- package/components/split.json +260 -0
- package/components/sshkeys.json +138 -0
- package/components/status.json +60 -3
- package/components/steps.json +7 -0
- package/components/switch.json +8 -1
- package/components/table.json +18 -1
- package/components/tablecolumnid.json +14 -2
- package/components/tabs.json +12 -0
- package/components/timeline.json +213 -0
- package/components/timepicker.json +147 -3
- package/components/timerange.json +262 -0
- package/components/tip.json +7 -0
- package/components/tooltip.json +484 -395
- package/components/tour.json +418 -372
- package/components/transfer.json +27 -3
- package/components/tree.json +6 -4
- package/components/treeselect.json +556 -475
- package/components/upload.json +474 -473
- package/components/vdialog.json +308 -0
- package/components/vdrawer.json +331 -0
- package/components/virtuallist.json +7 -0
- package/dist/ast/index.d.mts +35 -1
- package/dist/ast/index.d.ts +35 -1
- package/dist/ast/index.js +5 -3
- package/dist/ast/index.mjs +3 -1
- package/dist/{chunk-DSWKLUIX.mjs → chunk-3LYQ5XFM.mjs} +1 -1
- package/dist/chunk-BI5TIQID.mjs +330 -0
- package/dist/{chunk-6QS5IGS6.js → chunk-CJGGFVQJ.js} +8 -8
- package/dist/chunk-CR3GC4H3.js +353 -0
- package/dist/{chunk-NZ6TLWMD.mjs → chunk-D2SXGGTX.mjs} +28 -17
- package/dist/{chunk-D3Y6FGWA.js → chunk-EYKZY2F3.js} +29 -18
- package/dist/chunk-JSBRDJBE.js +30 -0
- package/dist/chunk-KF5YBEM5.js +143 -0
- package/dist/chunk-KMIDURUR.mjs +33324 -0
- package/dist/chunk-QC6VTSA3.mjs +117 -0
- package/dist/chunk-SZYVGYKK.js +33350 -0
- package/dist/{chunk-WYSRJVX4.js → chunk-TA3SV4SP.js} +2 -2
- package/dist/chunk-UJCSKKID.mjs +27 -0
- package/dist/{chunk-FVSQ6BU6.mjs → chunk-XGPHQHLR.mjs} +4 -4
- package/dist/docs/index.js +1 -1
- package/dist/docs/index.mjs +1 -1
- package/dist/full/index.js +8 -6
- package/dist/full/index.mjs +6 -4
- package/dist/index.d.mts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +15 -13
- package/dist/index.mjs +7 -5
- package/dist/metadata/index.d.mts +22 -2
- package/dist/metadata/index.d.ts +22 -2
- package/dist/metadata/index.js +27 -17
- package/dist/metadata/index.mjs +27 -16
- package/dist/resolve-BsLBxlBi.d.mts +24 -0
- package/dist/resolve-BsLBxlBi.d.ts +24 -0
- package/dist/runtime/index.js +5 -4
- package/dist/runtime/index.mjs +3 -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 +6 -5
- package/dist/static/index.mjs +3 -2
- package/docs_for_llm/actions.doc.md +77 -0
- package/docs_for_llm/advancedset.doc.md +89 -0
- package/docs_for_llm/affix.doc.md +15 -7
- package/docs_for_llm/aksk.doc.md +111 -0
- package/docs_for_llm/az.doc.md +17 -11
- package/docs_for_llm/badge.doc.md +6 -5
- package/docs_for_llm/billtypes.doc.md +17 -11
- package/docs_for_llm/breadcrumb.doc.md +6 -3
- package/docs_for_llm/button.doc.md +34 -18
- package/docs_for_llm/buttonlink.doc.md +55 -0
- package/docs_for_llm/card.doc.md +8 -5
- 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 +10 -10
- package/docs_for_llm/cardtabs.doc.md +106 -0
- package/docs_for_llm/carousel.doc.md +8 -7
- package/docs_for_llm/cascader.doc.md +46 -25
- 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 +9 -6
- package/docs_for_llm/colorpicker.doc.md +104 -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 +71 -0
- package/docs_for_llm/datepicker.doc.md +51 -39
- package/docs_for_llm/description.doc.md +75 -0
- package/docs_for_llm/descriptions.doc.md +9 -6
- package/docs_for_llm/dialog.doc.md +48 -77
- package/docs_for_llm/divider.doc.md +9 -7
- package/docs_for_llm/drawer.doc.md +43 -84
- package/docs_for_llm/dropdown.doc.md +52 -21
- 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 +74 -0
- package/docs_for_llm/form.doc.md +33 -14
- 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 +7 -5
- package/docs_for_llm/header.doc.md +85 -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 +90 -39
- 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 +17 -17
- package/docs_for_llm/layoutlistcontent.doc.md +95 -0
- package/docs_for_llm/layoutpermissioncontent.doc.md +84 -0
- package/docs_for_llm/layoutstandardlist.doc.md +120 -0
- package/docs_for_llm/layouttabs.doc.md +101 -0
- package/docs_for_llm/lazymount.doc.md +73 -0
- package/docs_for_llm/lazyteleport.doc.md +76 -0
- package/docs_for_llm/menu.doc.md +14 -11
- package/docs_for_llm/message.doc.md +48 -10
- 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 +89 -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 +122 -0
- package/docs_for_llm/region.doc.md +25 -13
- 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 +40 -55
- package/docs_for_llm/sidebar.doc.md +133 -0
- package/docs_for_llm/skeleton.doc.md +117 -0
- package/docs_for_llm/slider.doc.md +31 -21
- package/docs_for_llm/spin.doc.md +8 -5
- package/docs_for_llm/spinner.doc.md +28 -18
- package/docs_for_llm/split.doc.md +157 -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 +10 -7
- package/docs_for_llm/switch.doc.md +17 -14
- package/docs_for_llm/table.doc.md +118 -51
- package/docs_for_llm/tablecolumnid.doc.md +36 -16
- package/docs_for_llm/tabs.doc.md +19 -10
- package/docs_for_llm/tag.doc.md +19 -10
- package/docs_for_llm/timeline.doc.md +109 -0
- package/docs_for_llm/timepicker.doc.md +57 -38
- package/docs_for_llm/timerange.doc.md +157 -0
- package/docs_for_llm/tip.doc.md +20 -11
- package/docs_for_llm/tooltip.doc.md +55 -29
- package/docs_for_llm/tour.doc.md +48 -29
- package/docs_for_llm/transfer.doc.md +40 -29
- package/docs_for_llm/tree.doc.md +65 -23
- package/docs_for_llm/treeselect.doc.md +37 -48
- package/docs_for_llm/upload.doc.md +56 -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 +129 -0
- package/docs_for_llm/vdrawer.doc.md +119 -0
- package/docs_for_llm/virtuallist.doc.md +6 -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 +12 -6
- package/dist/chunk-HDV7ETXE.mjs +0 -1055
- package/dist/chunk-HPAUCD5I.js +0 -156
- package/dist/chunk-L4DS3EXI.mjs +0 -133
- package/dist/chunk-YWY3D4J7.js +0 -1082
|
@@ -12,20 +12,20 @@ import { Switch } from '@king-design/vue';
|
|
|
12
12
|
```
|
|
13
13
|
|
|
14
14
|
## 属性 (Props)
|
|
15
|
-
| 属性名 | 类型 | 默认值 | 必填 | 说明 | 示例 |
|
|
16
|
-
| --- | --- | --- | --- | --- | --- |
|
|
17
|
-
| value | `any` | `false` | 否 | 开关当前值,可用 v-model 双向绑定 | `<Switch v-model="value" />` |
|
|
18
|
-
| trueValue | `any` | `true` | 否 | 开启时的值 | `<Switch trueValue="on" falseValue="off" />` |
|
|
19
|
-
| falseValue | `any` | `false` | 否 | 关闭时的值 | `<Switch trueValue="1" falseValue="0" />` |
|
|
20
|
-
| on | `string` | `undefined` | 否 | 开启时显示的文案 | `<Switch on="开" off="关" />` |
|
|
21
|
-
| off | `string` | `undefined` | 否 | 关闭时显示的文案 | `<Switch on="ON" off="OFF" />` |
|
|
22
|
-
| disabled | `boolean` | `false` | 否 | 是否禁用 | `<Switch disabled />` |
|
|
23
|
-
| loading | `boolean` | `false` | 否 | 是否显示加载状态 | `<Switch :loading="isLoading" />` |
|
|
24
|
-
| size | `"large" | "default" | "small" | "mini"` | `"default"` | 否 | 尺寸 | `<Switch size="small" />` |
|
|
25
|
-
| width | `number | string` | `undefined` | 否 | 开关的宽度 | `<Switch :width="60" />` |
|
|
26
|
-
| height | `number | string` | `undefined` | 否 | 开关的高度 | `<Switch :height="24" />` |
|
|
27
|
-
| name | `string` | `undefined` | 否 | 开关的名称,用于表单提交 | `<Switch name="enable" />` |
|
|
28
|
-
| beforeChange | `(from: any, to: any) => boolean | Promise<boolean>` | `undefined` | 否 | 切换前的拦截函数,返回 false 阻止切换,支持异步 | `<Switch :beforeChange="handleBeforeChange" />` |
|
|
15
|
+
| 属性名 | 类型 | 默认值 | 必填 | 说明 | 标签 | 示例 |
|
|
16
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
17
|
+
| value | `any` | `false` | 否 | 开关当前值,可用 v-model 双向绑定 | - | `<Switch v-model="value" />` |
|
|
18
|
+
| trueValue | `any` | `true` | 否 | 开启时的值 | - | `<Switch trueValue="on" falseValue="off" />` |
|
|
19
|
+
| falseValue | `any` | `false` | 否 | 关闭时的值 | - | `<Switch trueValue="1" falseValue="0" />` |
|
|
20
|
+
| on | `string` | `undefined` | 否 | 开启时显示的文案 | - | `<Switch on="开" off="关" />` |
|
|
21
|
+
| off | `string` | `undefined` | 否 | 关闭时显示的文案 | - | `<Switch on="ON" off="OFF" />` |
|
|
22
|
+
| disabled | `boolean` | `false` | 否 | 是否禁用 | - | `<Switch disabled />` |
|
|
23
|
+
| loading | `boolean` | `false` | 否 | 是否显示加载状态 | - | `<Switch :loading="isLoading" />` |
|
|
24
|
+
| size | `"large" | "default" | "small" | "mini"` | `"default"` | 否 | 尺寸 | - | `<Switch size="small" />` |
|
|
25
|
+
| width | `number | string` | `undefined` | 否 | 开关的宽度 | - | `<Switch :width="60" />` |
|
|
26
|
+
| height | `number | string` | `undefined` | 否 | 开关的高度 | - | `<Switch :height="24" />` |
|
|
27
|
+
| name | `string` | `undefined` | 否 | 开关的名称,用于表单提交 | - | `<Switch name="enable" />` |
|
|
28
|
+
| beforeChange | `(from: any, to: any) => boolean | Promise<boolean>` | `undefined` | 否 | 切换前的拦截函数,返回 false 阻止切换,支持异步 | - | `<Switch :beforeChange="handleBeforeChange" />` |
|
|
29
29
|
|
|
30
30
|
## 插槽 (Slots)
|
|
31
31
|
| 插槽名 | 说明 | 模板写法 | 示例 |
|
|
@@ -34,12 +34,14 @@ import { Switch } from '@king-design/vue';
|
|
|
34
34
|
| off | 扩展关闭时的文案 | `undefined` | - |
|
|
35
35
|
|
|
36
36
|
## 常见错误与正确用法 (Anti-Hallucination)
|
|
37
|
+
### 在 Vue 中使用保留字 Switch
|
|
37
38
|
> **错误用法**: `import { Switch } from '@king-design/vue';
|
|
38
39
|
// 可能在某些情况下与 Vue 保留字冲突`
|
|
39
40
|
> **正确写法**: `import { Switch as KSwitch } from '@king-design/vue';
|
|
40
41
|
// 或直接使用 Switch,现代 Vue 3 通常没问题`
|
|
41
42
|
> **说明**: 在某些 Vue 版本中,Switch 可能是保留字,可以重命名为 KSwitch
|
|
42
43
|
|
|
44
|
+
### beforeChange 函数未正确返回布尔值
|
|
43
45
|
> **错误用法**: `const beforeChange = async () => {
|
|
44
46
|
await Dialog.confirm({});
|
|
45
47
|
// 忘记返回 true
|
|
@@ -54,6 +56,7 @@ import { Switch } from '@king-design/vue';
|
|
|
54
56
|
}`
|
|
55
57
|
> **说明**: beforeChange 必须返回布尔值,true 允许切换,false 阻止切换
|
|
56
58
|
|
|
59
|
+
### 自定义值类型与初始值不匹配
|
|
57
60
|
> **错误用法**: `const value = ref(false);
|
|
58
61
|
<Switch v-model="value" trueValue="yes" falseValue="no" />`
|
|
59
62
|
> **正确写法**: `const value = ref('no');
|
|
@@ -12,46 +12,46 @@ import { Table, TableColumn } from '@king-design/vue';
|
|
|
12
12
|
```
|
|
13
13
|
|
|
14
14
|
## 属性 (Props)
|
|
15
|
-
| 属性名 | 类型 | 默认值 | 必填 | 说明 | 示例 |
|
|
16
|
-
| --- | --- | --- | --- | --- | --- |
|
|
17
|
-
| data | `T[]` | `undefined` | 否 | 表格数据数组 | `<Table :data="tableData"></Table>` |
|
|
18
|
-
| fixHeader | `boolean | number | string` | `false` | 否 | 表头固定,给定需要固定高度的具体数值,当超出该值时,展示滚动条 | `<Table :data="data" :fixHeader="300"></Table>` |
|
|
19
|
-
| stickHeader | `boolean | number | string` | `false` | 否 | 表头吸顶,给定需要吸顶的高度,当表头在页面滚动滚动时,距离视窗顶部的距离等于该高度时,将表头固定在此高度处 | - |
|
|
20
|
-
| stickScrollbar | `boolean | number | string` | `false` | 否 | 当出现横向滚动条时,设置是否当表格底部没有滚动到视窗中时,将横向滚动条固定在页面底部;取值为number类型时,用来指定距离视窗底部的距离 | - |
|
|
21
|
-
| checkType | `"checkbox" | "radio" | "none"` | `"checkbox"` | 否 | 当行可选择时,定义选择的类型: 单选 "radio" , 复选 "checkbox", 不可选 "none" | - |
|
|
22
|
-
| checkedKeys | `TableRowKey[]` | `[]` | 否 | 通过key数组来指定哪些行被选中,可用v-model:checkedKeys双向绑定 | - |
|
|
23
|
-
| rowKey | `(value: T, index: number) => TableRowKey` | `(value, index) => index` | 否 | 设置每行的key | `<Table :data="tableData" :rowKey="(value, index) => index"></Table>` |
|
|
24
|
-
| rowCheckable | `boolean` | `true` | 否 | 当行可选时,是否点击该行任意区域都可选中 | - |
|
|
25
|
-
| disableRow | `(value: T, index: number, key: TableRowKey) => boolean` | `undefined` | 否 | 定义行禁用可选的逻辑,返回true,则该行被禁用选择 | - |
|
|
26
|
-
| type | `"default" | "border" | "grid"` | `"default"` | 否 | 表格类型,默认左右无边框,"border"类型会添加边框, "grid"类型会展示栅格边框 | - |
|
|
27
|
-
| stripe | `boolean` | `false` | 否 | 相邻行是否展示不同的背景色 | - |
|
|
28
|
-
| rowClassName | `(value: T, index: number, key: TableRowKey) => string | undefined` | `undefined` | 否 | 通过一个函数定义行的className,该函数会传入该行数据,索引和key当做参数,返回的字符串将被设为该行的className | - |
|
|
29
|
-
| group | `TableGroupValue` | `undefined` | 否 | 分组配置 | - |
|
|
30
|
-
| sort | `TableSortValue` | `undefined` | 否 | 排序配置,可用v-model:sort双向绑定 | - |
|
|
31
|
-
| loading | `boolean` | `false` | 否 | 是否展示加载状态 | - |
|
|
32
|
-
| merge | `TableMerge` | `undefined` | 否 | 指定表格单元格合并逻辑 | - |
|
|
33
|
-
| expandedKeys | `TableRowKey[]` | `undefined` | 否 | 通过key来指定哪些行展开,可用v-model:expandedKeys绑定 | - |
|
|
34
|
-
| rowExpandable | `boolean` | `true` | 否 | 是否点击该行任意区域即展开 | - |
|
|
35
|
-
| selectedKeys | `TableRowKey[]` | `undefined` | 否 | 当rowSelectable取值为非false时,指定哪些行高亮 | - |
|
|
36
|
-
| rowSelectable | `boolean | "single" | "multiple"` | `false` | 否 | 是否点击行时高亮该行,取值为multiple时,可以同时高亮多行 | - |
|
|
37
|
-
| childrenKey | `string` | `"children"` | 否 | 树形表格指定子元素键名 | - |
|
|
38
|
-
| indent | `number` | `32` | 否 | 树形表格指定子元素缩进宽度 | - |
|
|
39
|
-
| spreadKeys | `TableRowKey[]` | `undefined` | 否 | 树形表格指定展开的行,可用v-model:spreadKeys绑定 | - |
|
|
40
|
-
| tooltipPosition | `"left" | "bottom" | "right" | "top" | Position` | `"top"` | 否 | 行提示的位置 | - |
|
|
41
|
-
| tooltipContainer | `Container` | `undefined` | 否 | 指定行提示弹层追加的位置,支持函数或 CSS 选择器 | - |
|
|
42
|
-
| keepStatus | `boolean` | `false` | 否 | 是否在行销毁的时候,保持该行在checkedKeys | selectedKeys | spreadKeys | expandedKeys中的key值 | - |
|
|
43
|
-
| showIndeterminate | `boolean` | `true` | 否 | 表头的Checkbox是否支持展示半选中状态 | - |
|
|
44
|
-
| resizable | `boolean` | `false` | 否 | 是否可以表头拖动调整列宽 | - |
|
|
45
|
-
| minColWidth | `number` | `40` | 否 | 指定所有列拖动时的最小宽度 | - |
|
|
46
|
-
| widthStoreKey | `string` | `undefined` | 否 | 如果要保存表格拖动后的列宽信息,可以通过该属性设置保存到localStorage中的key | - |
|
|
47
|
-
| draggable | `boolean` | `false` | 否 | 表格行是否可拖动排序 | - |
|
|
48
|
-
| animation | `boolean | [boolean, boolean]` | `true` | 否 | 是否开启动效,可以通过数组单独设置行和列的动效 | - |
|
|
49
|
-
| hideHeader | `boolean` | `false` | 否 | 是否隐藏表头 | - |
|
|
50
|
-
| pagination | `boolean | PaginationProps` | `false` | 否 | 是否支持分页,可传入对象配置分页参数 | - |
|
|
51
|
-
| fixFooter | `boolean` | `false` | 否 | table给定需要固定高度时,自定义footer固定 | - |
|
|
52
|
-
| load | `(node: any) => Promise<any[]> | void` | `undefined` | 否 | 指定异步加载节点数据的函数,该函数通过Promise返回数组来添加子节点数据 | - |
|
|
53
|
-
| spreadArrowIndex | `number` | `0` | 否 | 指定树形表格展开Icon的所在列,默认在第一列 | - |
|
|
54
|
-
| virtual | `boolean` | `false` | 否 | 是否开启虚拟滚动,适用于大数据量场景 | - |
|
|
15
|
+
| 属性名 | 类型 | 默认值 | 必填 | 说明 | 标签 | 示例 |
|
|
16
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
17
|
+
| data | `T[]` | `undefined` | 否 | 表格数据数组 | - | `<Table :data="tableData"></Table>` |
|
|
18
|
+
| fixHeader | `boolean | number | string` | `false` | 否 | 表头固定,给定需要固定高度的具体数值,当超出该值时,展示滚动条 | - | `<Table :data="data" :fixHeader="300"></Table>` |
|
|
19
|
+
| stickHeader | `boolean | number | string` | `false` | 否 | 表头吸顶,给定需要吸顶的高度,当表头在页面滚动滚动时,距离视窗顶部的距离等于该高度时,将表头固定在此高度处 | - | - |
|
|
20
|
+
| stickScrollbar | `boolean | number | string` | `false` | 否 | 当出现横向滚动条时,设置是否当表格底部没有滚动到视窗中时,将横向滚动条固定在页面底部;取值为number类型时,用来指定距离视窗底部的距离 | - | - |
|
|
21
|
+
| checkType | `"checkbox" | "radio" | "none"` | `"checkbox"` | 否 | 当行可选择时,定义选择的类型: 单选 "radio" , 复选 "checkbox", 不可选 "none" | - | - |
|
|
22
|
+
| checkedKeys | `TableRowKey[]` | `[]` | 否 | 通过key数组来指定哪些行被选中,可用v-model:checkedKeys双向绑定 | - | - |
|
|
23
|
+
| rowKey | `(value: T, index: number) => TableRowKey` | `(value, index) => index` | 否 | 设置每行的key | - | `<Table :data="tableData" :rowKey="(value, index) => index"></Table>` |
|
|
24
|
+
| rowCheckable | `boolean` | `true` | 否 | 当行可选时,是否点击该行任意区域都可选中 | - | - |
|
|
25
|
+
| disableRow | `(value: T, index: number, key: TableRowKey) => boolean` | `undefined` | 否 | 定义行禁用可选的逻辑,返回true,则该行被禁用选择 | - | - |
|
|
26
|
+
| type | `"default" | "border" | "grid"` | `"default"` | 否 | 表格类型,默认左右无边框,"border"类型会添加边框, "grid"类型会展示栅格边框 | - | - |
|
|
27
|
+
| stripe | `boolean` | `false` | 否 | 相邻行是否展示不同的背景色 | - | - |
|
|
28
|
+
| rowClassName | `(value: T, index: number, key: TableRowKey) => string | undefined` | `undefined` | 否 | 通过一个函数定义行的className,该函数会传入该行数据,索引和key当做参数,返回的字符串将被设为该行的className | - | - |
|
|
29
|
+
| group | `TableGroupValue` | `undefined` | 否 | 分组配置 | - | - |
|
|
30
|
+
| sort | `TableSortValue` | `undefined` | 否 | 排序配置,可用v-model:sort双向绑定 | - | - |
|
|
31
|
+
| loading | `boolean` | `false` | 否 | 是否展示加载状态 | - | - |
|
|
32
|
+
| merge | `TableMerge` | `undefined` | 否 | 指定表格单元格合并逻辑 | - | - |
|
|
33
|
+
| expandedKeys | `TableRowKey[]` | `undefined` | 否 | 通过key来指定哪些行展开,可用v-model:expandedKeys绑定 | - | - |
|
|
34
|
+
| rowExpandable | `boolean` | `true` | 否 | 是否点击该行任意区域即展开 | - | - |
|
|
35
|
+
| selectedKeys | `TableRowKey[]` | `undefined` | 否 | 当rowSelectable取值为非false时,指定哪些行高亮 | - | - |
|
|
36
|
+
| rowSelectable | `boolean | "single" | "multiple"` | `false` | 否 | 是否点击行时高亮该行,取值为multiple时,可以同时高亮多行 | - | - |
|
|
37
|
+
| childrenKey | `string` | `"children"` | 否 | 树形表格指定子元素键名 | - | - |
|
|
38
|
+
| indent | `number` | `32` | 否 | 树形表格指定子元素缩进宽度 | - | - |
|
|
39
|
+
| spreadKeys | `TableRowKey[]` | `undefined` | 否 | 树形表格指定展开的行,可用v-model:spreadKeys绑定 | - | - |
|
|
40
|
+
| tooltipPosition | `"left" | "bottom" | "right" | "top" | Position` | `"top"` | 否 | 行提示的位置 | - | - |
|
|
41
|
+
| tooltipContainer | `Container` | `undefined` | 否 | 指定行提示弹层追加的位置,支持函数或 CSS 选择器 | - | - |
|
|
42
|
+
| keepStatus | `boolean` | `false` | 否 | 是否在行销毁的时候,保持该行在checkedKeys | selectedKeys | spreadKeys | expandedKeys中的key值 | - | - |
|
|
43
|
+
| showIndeterminate | `boolean` | `true` | 否 | 表头的Checkbox是否支持展示半选中状态 | - | - |
|
|
44
|
+
| resizable | `boolean` | `false` | 否 | 是否可以表头拖动调整列宽 | - | - |
|
|
45
|
+
| minColWidth | `number` | `40` | 否 | 指定所有列拖动时的最小宽度 | - | - |
|
|
46
|
+
| widthStoreKey | `string` | `undefined` | 否 | 如果要保存表格拖动后的列宽信息,可以通过该属性设置保存到localStorage中的key | - | - |
|
|
47
|
+
| draggable | `boolean` | `false` | 否 | 表格行是否可拖动排序 | - | - |
|
|
48
|
+
| animation | `boolean | [boolean, boolean]` | `true` | 否 | 是否开启动效,可以通过数组单独设置行和列的动效 | - | - |
|
|
49
|
+
| hideHeader | `boolean` | `false` | 否 | 是否隐藏表头 | - | - |
|
|
50
|
+
| pagination | `boolean | PaginationProps` | `false` | 否 | 是否支持分页,可传入对象配置分页参数 | - | - |
|
|
51
|
+
| fixFooter | `boolean` | `false` | 否 | table给定需要固定高度时,自定义footer固定 | - | - |
|
|
52
|
+
| load | `(node: any) => Promise<any[]> | void` | `undefined` | 否 | 指定异步加载节点数据的函数,该函数通过Promise返回数组来添加子节点数据 | - | - |
|
|
53
|
+
| spreadArrowIndex | `number` | `0` | 否 | 指定树形表格展开Icon的所在列,默认在第一列 | - | - |
|
|
54
|
+
| virtual | `boolean` | `false` | 否 | 是否开启虚拟滚动,适用于大数据量场景 | - | - |
|
|
55
55
|
|
|
56
56
|
## 事件 (Events)
|
|
57
57
|
| 事件名 | Vue事件名 | 说明 | 回调参数 | 示例 |
|
|
@@ -65,15 +65,35 @@ import { Table, TableColumn } from '@king-design/vue';
|
|
|
65
65
|
| uncheckAll | `@uncheck-all` | 手动取消全选触发 | `-` | `<Table @uncheck-all="handleUncheckAll" />` |
|
|
66
66
|
| page | `@page` | 当内置翻页改变页码或每页数量时触发 | `data: {value: number, limit: number}` | `<Table :data="data" :pagination="true" @page="handlePage"></Table>` |
|
|
67
67
|
|
|
68
|
-
###
|
|
69
|
-
**clickRow
|
|
68
|
+
### 事件参数说明
|
|
69
|
+
**clickRow**
|
|
70
|
+
|
|
71
|
+
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|
|
72
|
+
| --- | --- | --- | --- | --- |
|
|
73
|
+
| data | `T` | 是 | - | 行数据 |
|
|
74
|
+
| index | `number` | 是 | - | 行索引 |
|
|
75
|
+
| key | `TableRowKey` | 是 | - | 行key |
|
|
76
|
+
|
|
77
|
+
事件处理示例:
|
|
70
78
|
```typescript
|
|
71
79
|
const handleClickRow = (data: any, index: number, key: string | number) => {
|
|
72
80
|
console.log('点击行:', data);
|
|
73
81
|
};
|
|
74
82
|
```
|
|
75
83
|
|
|
76
|
-
**
|
|
84
|
+
**dragstart**
|
|
85
|
+
|
|
86
|
+
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|
|
87
|
+
| --- | --- | --- | --- | --- |
|
|
88
|
+
| data | `{key: TableRowKey, from: number}` | 是 | - | 拖动开始信息 |
|
|
89
|
+
|
|
90
|
+
**dragend**
|
|
91
|
+
|
|
92
|
+
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|
|
93
|
+
| --- | --- | --- | --- | --- |
|
|
94
|
+
| data | `{key: TableRowKey, from: number, to: number}` | 是 | - | 拖动结束信息 |
|
|
95
|
+
|
|
96
|
+
事件处理示例:
|
|
77
97
|
```typescript
|
|
78
98
|
const handleDragEnd = (info: {key: number, from: number, to: number}) => {
|
|
79
99
|
const item = data.value.splice(info.from, 1)[0];
|
|
@@ -81,21 +101,43 @@ const handleDragEnd = (info: {key: number, from: number, to: number}) => {
|
|
|
81
101
|
};
|
|
82
102
|
```
|
|
83
103
|
|
|
84
|
-
**checkRow
|
|
104
|
+
**checkRow**
|
|
105
|
+
|
|
106
|
+
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|
|
107
|
+
| --- | --- | --- | --- | --- |
|
|
108
|
+
| data | `T` | 是 | - | 选中行数据 |
|
|
109
|
+
| index | `number` | 是 | - | 行索引 |
|
|
110
|
+
| key | `TableRowKey` | 是 | - | 行key |
|
|
111
|
+
|
|
112
|
+
事件处理示例:
|
|
85
113
|
```typescript
|
|
86
114
|
const handleCheckRow = (data: any, index: number, key: string | number) => {
|
|
87
115
|
console.log('选中行:', data);
|
|
88
116
|
};
|
|
89
117
|
```
|
|
90
118
|
|
|
91
|
-
**uncheckRow
|
|
119
|
+
**uncheckRow**
|
|
120
|
+
|
|
121
|
+
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|
|
122
|
+
| --- | --- | --- | --- | --- |
|
|
123
|
+
| data | `T` | 是 | - | 取消选中行数据 |
|
|
124
|
+
| index | `number` | 是 | - | 行索引 |
|
|
125
|
+
| key | `TableRowKey` | 是 | - | 行key |
|
|
126
|
+
|
|
127
|
+
事件处理示例:
|
|
92
128
|
```typescript
|
|
93
129
|
const handleUncheckRow = (data: any, index: number, key: string | number) => {
|
|
94
130
|
console.log('取消选中:', data);
|
|
95
131
|
};
|
|
96
132
|
```
|
|
97
133
|
|
|
98
|
-
**page
|
|
134
|
+
**page**
|
|
135
|
+
|
|
136
|
+
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|
|
137
|
+
| --- | --- | --- | --- | --- |
|
|
138
|
+
| data | `{value: number, limit: number}` | 是 | - | 分页信息 |
|
|
139
|
+
|
|
140
|
+
事件处理示例:
|
|
99
141
|
```typescript
|
|
100
142
|
const handlePage = (pageInfo: {value: number, limit: number}) => {
|
|
101
143
|
console.log('当前页:', pageInfo.value, '每页:', pageInfo.limit);
|
|
@@ -129,13 +171,33 @@ const handlePage = (pageInfo: {value: number, limit: number}) => {
|
|
|
129
171
|
## 方法 (Methods)
|
|
130
172
|
| 方法名 | 说明 | 参数 | 返回值 |
|
|
131
173
|
| --- | --- | --- | --- |
|
|
132
|
-
| getCheckedData | 获取选中数据信息 |
|
|
133
|
-
| getSelectedData | 获取高亮行数据信息 |
|
|
134
|
-
| checkAll | 全部选中 |
|
|
135
|
-
| uncheckAll | 全不选中 |
|
|
174
|
+
| getCheckedData | 获取选中数据信息 | `-` | `T[]` |
|
|
175
|
+
| getSelectedData | 获取高亮行数据信息 | `-` | `T[]` |
|
|
176
|
+
| checkAll | 全部选中 | `-` | `void` |
|
|
177
|
+
| uncheckAll | 全不选中 | `-` | `void` |
|
|
136
178
|
| scrollToRowByIndex | 通过索引指定滚动的行 | `index: number` | `Promise<void>` |
|
|
137
179
|
| scrollToRowByKey | 通过key指定滚动的行 | `key: TableRowKey` | `Promise<void>` |
|
|
138
|
-
| exportTable | 导出表格 | `data
|
|
180
|
+
| exportTable | 导出表格 | `data?: T[], filename?: string` | `Promise<string>` |
|
|
181
|
+
|
|
182
|
+
### 方法参数说明
|
|
183
|
+
**scrollToRowByIndex**
|
|
184
|
+
|
|
185
|
+
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|
|
186
|
+
| --- | --- | --- | --- | --- |
|
|
187
|
+
| index | `number` | 是 | - | 行索引 |
|
|
188
|
+
|
|
189
|
+
**scrollToRowByKey**
|
|
190
|
+
|
|
191
|
+
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|
|
192
|
+
| --- | --- | --- | --- | --- |
|
|
193
|
+
| key | `TableRowKey` | 是 | - | 行key |
|
|
194
|
+
|
|
195
|
+
**exportTable**
|
|
196
|
+
|
|
197
|
+
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|
|
198
|
+
| --- | --- | --- | --- | --- |
|
|
199
|
+
| data | `T[]` | 否 | `this.data` | 要导出的数据 |
|
|
200
|
+
| filename | `string` | 否 | `"table"` | 导出文件名 |
|
|
139
201
|
|
|
140
202
|
## 子组件 (Sub-Components)
|
|
141
203
|
### TableColumn
|
|
@@ -166,22 +228,27 @@ const handlePage = (pageInfo: {value: number, limit: number}) => {
|
|
|
166
228
|
- `#default="[data, index]"`: 与template扩展点等价,为了方便vue中使用的别名
|
|
167
229
|
|
|
168
230
|
## 常见错误与正确用法 (Anti-Hallucination)
|
|
231
|
+
### TableColumn 作用域插槽参数解构方式错误
|
|
169
232
|
> **错误用法**: `<template #default="{ row }">`
|
|
170
233
|
> **正确写法**: `<template #default="[row]">`
|
|
171
234
|
> **说明**: KPC 组件库使用数组形式传递作用域插槽参数,而非对象解构。正确写法是 [row] 或 [row, index],不是 { row } 或 { row, index }
|
|
172
235
|
|
|
236
|
+
### TableColumn 未设置 key 属性
|
|
173
237
|
> **错误用法**: `<TableColumn title="姓名" />`
|
|
174
238
|
> **正确写法**: `<TableColumn key="name" title="姓名" />`
|
|
175
239
|
> **说明**: TableColumn 的 key 属性是必须的,用于标识列和数据映射
|
|
176
240
|
|
|
241
|
+
### 使用选择功能时未设置 rowKey
|
|
177
242
|
> **错误用法**: `<Table :data="data" checkType="checkbox" v-model:checkedKeys="keys">`
|
|
178
243
|
> **正确写法**: `<Table :data="data" checkType="checkbox" v-model:checkedKeys="keys" :rowKey="row => row.id">`
|
|
179
244
|
> **说明**: 使用 checkType 进行行选择时,应该设置 rowKey 来唯一标识每行,否则默认使用数组索引,数据变化时可能导致选中状态错乱
|
|
180
245
|
|
|
246
|
+
### TableColumn 错误使用 prop 属性
|
|
181
247
|
> **错误用法**: `<TableColumn prop="name" />`
|
|
182
248
|
> **正确写法**: `<TableColumn key="name" />`
|
|
183
249
|
> **说明**: KPC TableColumn 使用 `key` 属性来指定数据字段,而不是 `prop`。
|
|
184
250
|
|
|
251
|
+
### TableColumn 错误使用 label 属性
|
|
185
252
|
> **错误用法**: `<TableColumn label="姓名" />`
|
|
186
253
|
> **正确写法**: `<TableColumn title="姓名" />`
|
|
187
254
|
> **说明**: KPC TableColumn 使用 `title` 属性来指定列标题,而不是 `label`。
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
用于表格中的ID列展示,支持复制功能和禁用状态。
|
|
4
4
|
|
|
5
|
-
**关键词**: id, column, table,
|
|
5
|
+
**关键词**: id, column, table, 表格列, ID列, 名称ID列, 资源标识列
|
|
6
6
|
|
|
7
|
-
**使用场景**: 资源列表ID
|
|
7
|
+
**使用场景**: 资源列表ID列展示、支持复制的名称和 ID 展示、表格中可点击资源名称列
|
|
8
8
|
|
|
9
9
|
## 导入语句
|
|
10
10
|
```typescript
|
|
@@ -12,20 +12,20 @@ import { TableColumnId } from '@ksyun-internal/versatile';
|
|
|
12
12
|
```
|
|
13
13
|
|
|
14
14
|
## 属性 (Props)
|
|
15
|
-
| 属性名 | 类型 | 默认值 | 必填 | 说明 | 示例 |
|
|
16
|
-
| --- | --- | --- | --- | --- | --- |
|
|
17
|
-
| name | `string` | `""` | 否 | 显示的名称 | - |
|
|
18
|
-
| id | `string` | `""` | 否 | 显示的 id | - |
|
|
19
|
-
| disabled | `boolean` | `false` | 否 | 是否禁止复制功能 | - |
|
|
20
|
-
| disabledClickName | `boolean` | `false` | 否 | 是否置灰名称 | - |
|
|
21
|
-
| disabledEditable | `boolean` | `false` | 否 | 是否置灰编辑按钮 | - |
|
|
22
|
-
| type | `"link" | "none"` | `"link"` | 否 | 样式模式 | - |
|
|
23
|
-
| editable | `boolean` | `false` | 否 | 名称是否支持编辑 | - |
|
|
24
|
-
| editableTip | `string` | `"编辑"` | 否 | 编辑图标的 tooltip 提示,默认编辑 | - |
|
|
25
|
-
| editableProps | `Record<string, any>` | `undefined` | 否 | Editable 组件支持的属性 | - |
|
|
26
|
-
| to | `string | RouteLocationAsRelativeGeneric | RouteLocationAsPathGeneric` | `undefined` | 否 | 链接跳转路径,当 type 为 'link' 时生效,同 router-link 的 to 属性一致;当使用 to 属性进行跳转时,右键菜单栏才会出现 '在新标签页中打开' | - |
|
|
27
|
-
| target | `'_blank' | '_self' | '_parent' | '_top'` | `'_self'` | 否 | 链接跳转目标,当 type 为 'link' 且使用 to 时生效,同 a 标签的 target 属性一致 | - |
|
|
28
|
-
| maxLines | `number` | `1` | 否 | 名称/ID 展示的最大行数,超出部分会被省略号代替 | - |
|
|
15
|
+
| 属性名 | 类型 | 默认值 | 必填 | 说明 | 标签 | 示例 |
|
|
16
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
17
|
+
| name | `string` | `""` | 否 | 显示的名称 | - | - |
|
|
18
|
+
| id | `string` | `""` | 否 | 显示的 id | - | - |
|
|
19
|
+
| disabled | `boolean` | `false` | 否 | 是否禁止复制功能 | - | - |
|
|
20
|
+
| disabledClickName | `boolean` | `false` | 否 | 是否置灰名称 | - | - |
|
|
21
|
+
| disabledEditable | `boolean` | `false` | 否 | 是否置灰编辑按钮 | - | - |
|
|
22
|
+
| type | `"link" | "none"` | `"link"` | 否 | 样式模式 | - | - |
|
|
23
|
+
| editable | `boolean` | `false` | 否 | 名称是否支持编辑 | - | - |
|
|
24
|
+
| editableTip | `string` | `"编辑"` | 否 | 编辑图标的 tooltip 提示,默认编辑 | - | - |
|
|
25
|
+
| editableProps | `Record<string, any>` | `undefined` | 否 | Editable 组件支持的属性 | - | - |
|
|
26
|
+
| to | `string | RouteLocationAsRelativeGeneric | RouteLocationAsPathGeneric` | `undefined` | 否 | 链接跳转路径,当 type 为 'link' 时生效,同 router-link 的 to 属性一致;当使用 to 属性进行跳转时,右键菜单栏才会出现 '在新标签页中打开' | - | - |
|
|
27
|
+
| target | `'_blank' | '_self' | '_parent' | '_top'` | `'_self'` | 否 | 链接跳转目标,当 type 为 'link' 且使用 to 时生效,同 a 标签的 target 属性一致 | - | - |
|
|
28
|
+
| maxLines | `number` | `1` | 否 | 名称/ID 展示的最大行数,超出部分会被省略号代替 | - | - |
|
|
29
29
|
|
|
30
30
|
## 事件 (Events)
|
|
31
31
|
| 事件名 | Vue事件名 | 说明 | 回调参数 | 示例 |
|
|
@@ -34,3 +34,23 @@ import { TableColumnId } from '@ksyun-internal/versatile';
|
|
|
34
34
|
| click:id | `@click:id` | 当点击 id 时触发 | `value: string` | `<TableColumnId @click:id="handleClickId" />` |
|
|
35
35
|
| change:name | `@change:name` | 当编辑名称,名称内容改变时触发 | `newValue: string, oldValue: string` | `<TableColumnId @change:name="(newVal, oldVal) => handleNameChange(newVal, oldVal)" /></TableColumnId>` |
|
|
36
36
|
|
|
37
|
+
### 事件参数说明
|
|
38
|
+
**click:name**
|
|
39
|
+
|
|
40
|
+
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|
|
41
|
+
| --- | --- | --- | --- | --- |
|
|
42
|
+
| value | `string` | 是 | - | 名称的值 |
|
|
43
|
+
|
|
44
|
+
**click:id**
|
|
45
|
+
|
|
46
|
+
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|
|
47
|
+
| --- | --- | --- | --- | --- |
|
|
48
|
+
| value | `string` | 是 | - | id 的值 |
|
|
49
|
+
|
|
50
|
+
**change:name**
|
|
51
|
+
|
|
52
|
+
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|
|
53
|
+
| --- | --- | --- | --- | --- |
|
|
54
|
+
| newValue | `string` | 是 | - | 新的名称值 |
|
|
55
|
+
| oldValue | `string` | 是 | - | 旧的名称值 |
|
|
56
|
+
|
package/docs_for_llm/tabs.doc.md
CHANGED
|
@@ -12,22 +12,28 @@ import { Tabs, Tab } from '@king-design/vue';
|
|
|
12
12
|
```
|
|
13
13
|
|
|
14
14
|
## 属性 (Props)
|
|
15
|
-
| 属性名 | 类型 | 默认值 | 必填 | 说明 | 示例 |
|
|
16
|
-
| --- | --- | --- | --- | --- | --- |
|
|
17
|
-
| value | `any` | `undefined` | 否 | 被选中的选项卡,可用 v-model 双向绑定 | `<Tabs v-model="activeTab"></Tabs>` |
|
|
18
|
-
| type | `"default" | "card" | "flat-card"` | `"default"` | 否 | 选项卡类型 | `<Tabs type="card"></Tabs>` |
|
|
19
|
-
| size | `"large" | "default" | "small" | "mini"` | `"default"` | 否 | 选项卡尺寸 | `<Tabs size="small"></Tabs>` |
|
|
20
|
-
| vertical | `boolean` | `undefined` | 否 | 是否垂直排列 | `<Tabs vertical></Tabs>` |
|
|
21
|
-
| closable | `boolean` | `false` | 否 | 是否展示选项卡关闭按钮 | `<Tabs closable @remove="handleRemove"></Tabs>` |
|
|
22
|
-
| beforeChange | `(value: any) => boolean | Promise<boolean>` | `undefined` | 否 | 切换选项卡之前的拦截函数,返回 false 阻止切换,支持异步 | `<Tabs :beforeChange="handleBeforeChange"></Tabs>` |
|
|
15
|
+
| 属性名 | 类型 | 默认值 | 必填 | 说明 | 标签 | 示例 |
|
|
16
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
17
|
+
| value | `any` | `undefined` | 否 | 被选中的选项卡,可用 v-model 双向绑定 | - | `<Tabs v-model="activeTab"></Tabs>` |
|
|
18
|
+
| type | `"default" | "card" | "flat-card"` | `"default"` | 否 | 选项卡类型 | - | `<Tabs type="card"></Tabs>` |
|
|
19
|
+
| size | `"large" | "default" | "small" | "mini"` | `"default"` | 否 | 选项卡尺寸 | - | `<Tabs size="small"></Tabs>` |
|
|
20
|
+
| vertical | `boolean` | `undefined` | 否 | 是否垂直排列 | - | `<Tabs vertical></Tabs>` |
|
|
21
|
+
| closable | `boolean` | `false` | 否 | 是否展示选项卡关闭按钮 | - | `<Tabs closable @remove="handleRemove"></Tabs>` |
|
|
22
|
+
| beforeChange | `(value: any) => boolean | Promise<boolean>` | `undefined` | 否 | 切换选项卡之前的拦截函数,返回 false 阻止切换,支持异步 | - | `<Tabs :beforeChange="handleBeforeChange"></Tabs>` |
|
|
23
23
|
|
|
24
24
|
## 事件 (Events)
|
|
25
25
|
| 事件名 | Vue事件名 | 说明 | 回调参数 | 示例 |
|
|
26
26
|
| --- | --- | --- | --- | --- |
|
|
27
27
|
| remove | `@remove` | 关闭选项卡时触发 | `value: any` | `<Tabs @remove="handleRemove"></Tabs>` |
|
|
28
28
|
|
|
29
|
-
###
|
|
30
|
-
**remove
|
|
29
|
+
### 事件参数说明
|
|
30
|
+
**remove**
|
|
31
|
+
|
|
32
|
+
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|
|
33
|
+
| --- | --- | --- | --- | --- |
|
|
34
|
+
| value | `any` | 是 | - | 被关闭选项卡的 value |
|
|
35
|
+
|
|
36
|
+
事件处理示例:
|
|
31
37
|
```typescript
|
|
32
38
|
const handleRemove = (value: string) => {
|
|
33
39
|
const index = tabs.value.indexOf(value);
|
|
@@ -50,6 +56,7 @@ const handleRemove = (value: string) => {
|
|
|
50
56
|
- `@click`: Tab 点击事件,发生在 value 改变之后,disabled 状态不触发
|
|
51
57
|
|
|
52
58
|
## 常见错误与正确用法 (Anti-Hallucination)
|
|
59
|
+
### 期望 Tabs 自动切换内容
|
|
53
60
|
> **错误用法**: `<Tabs v-model="activeTab">
|
|
54
61
|
<Tab value="home">首页内容</Tab> <!-- 期望显示内容 -->
|
|
55
62
|
</Tabs>`
|
|
@@ -59,10 +66,12 @@ const handleRemove = (value: string) => {
|
|
|
59
66
|
<div v-if="activeTab === 'home'">首页内容</div>`
|
|
60
67
|
> **说明**: Tabs 仅提供头部样式,内容区域需要使用 v-if 自行切换
|
|
61
68
|
|
|
69
|
+
### Tab 未设置 value
|
|
62
70
|
> **错误用法**: `<Tab>选项卡</Tab>`
|
|
63
71
|
> **正确写法**: `<Tab value="tab1">选项卡</Tab>`
|
|
64
72
|
> **说明**: 每个 Tab 必须设置 value 用于标识
|
|
65
73
|
|
|
74
|
+
### 使用 closable 但未处理 remove 事件
|
|
66
75
|
> **错误用法**: `<Tabs closable> <!-- 点击关闭不会真正移除 -->`
|
|
67
76
|
> **正确写法**: `<Tabs closable @remove="handleRemove">`
|
|
68
77
|
> **说明**: closable 只显示关闭按钮,需要监听 remove 事件手动移除选项卡
|
package/docs_for_llm/tag.doc.md
CHANGED
|
@@ -12,22 +12,28 @@ import { Tag, Tags } from '@king-design/vue';
|
|
|
12
12
|
```
|
|
13
13
|
|
|
14
14
|
## 属性 (Props)
|
|
15
|
-
| 属性名 | 类型 | 默认值 | 必填 | 说明 | 示例 |
|
|
16
|
-
| --- | --- | --- | --- | --- | --- |
|
|
17
|
-
| type | `"default" | "primary" | "success" | "warning" | "danger"` | `"default"` | 否 | 组件类型,决定标签的视觉样式 | `<Tag type="primary">主要标签</Tag>` |
|
|
18
|
-
| closable | `boolean` | `false` | 否 | 是否可关闭,显示关闭按钮 | `<Tag closable @close="handleClose">可关闭标签</Tag>` |
|
|
19
|
-
| closed | `boolean` | `false` | 否 | 是否已关闭(受控模式) | `<Tag closable :closed="isClosed" @close="handleClose">标签</Tag>` |
|
|
20
|
-
| disabled | `boolean` | `false` | 否 | 是否展示禁用状态 | `<Tag disabled>禁用标签</Tag>` |
|
|
21
|
-
| size | `"large" | "default" | "small" | "mini"` | `"default"` | 否 | 组件尺寸 | `<Tag size="small">小标签</Tag>` |
|
|
22
|
-
| border | `"solid" | "dashed" | "none"` | `"none"` | 否 | 定义边框样式 | `<Tag border="solid">带边框标签</Tag>` |
|
|
15
|
+
| 属性名 | 类型 | 默认值 | 必填 | 说明 | 标签 | 示例 |
|
|
16
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
17
|
+
| type | `"default" | "primary" | "success" | "warning" | "danger"` | `"default"` | 否 | 组件类型,决定标签的视觉样式 | - | `<Tag type="primary">主要标签</Tag>` |
|
|
18
|
+
| closable | `boolean` | `false` | 否 | 是否可关闭,显示关闭按钮 | - | `<Tag closable @close="handleClose">可关闭标签</Tag>` |
|
|
19
|
+
| closed | `boolean` | `false` | 否 | 是否已关闭(受控模式) | - | `<Tag closable :closed="isClosed" @close="handleClose">标签</Tag>` |
|
|
20
|
+
| disabled | `boolean` | `false` | 否 | 是否展示禁用状态 | - | `<Tag disabled>禁用标签</Tag>` |
|
|
21
|
+
| size | `"large" | "default" | "small" | "mini"` | `"default"` | 否 | 组件尺寸 | - | `<Tag size="small">小标签</Tag>` |
|
|
22
|
+
| border | `"solid" | "dashed" | "none"` | `"none"` | 否 | 定义边框样式 | - | `<Tag border="solid">带边框标签</Tag>` |
|
|
23
23
|
|
|
24
24
|
## 事件 (Events)
|
|
25
25
|
| 事件名 | Vue事件名 | 说明 | 回调参数 | 示例 |
|
|
26
26
|
| --- | --- | --- | --- | --- |
|
|
27
27
|
| close | `@close` | 标签关闭事件,点击关闭按钮时触发 | `e: MouseEvent` | `<Tag closable @close="handleClose">可关闭</Tag>` |
|
|
28
28
|
|
|
29
|
-
###
|
|
30
|
-
**close
|
|
29
|
+
### 事件参数说明
|
|
30
|
+
**close**
|
|
31
|
+
|
|
32
|
+
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|
|
33
|
+
| --- | --- | --- | --- | --- |
|
|
34
|
+
| e | `MouseEvent` | 是 | - | 原生鼠标事件对象 |
|
|
35
|
+
|
|
36
|
+
事件处理示例:
|
|
31
37
|
```typescript
|
|
32
38
|
const handleClose = (e: MouseEvent) => {
|
|
33
39
|
console.log('标签已关闭');
|
|
@@ -53,14 +59,17 @@ const handleClose = (e: MouseEvent) => {
|
|
|
53
59
|
- `undefined`: 追加到后面的元素,不参与到Tags对Tag的管理中
|
|
54
60
|
|
|
55
61
|
## 常见错误与正确用法 (Anti-Hallucination)
|
|
62
|
+
### 可关闭标签未使用受控模式
|
|
56
63
|
> **错误用法**: `<Tag closable>标签</Tag>`
|
|
57
64
|
> **正确写法**: `<Tag closable :closed="isClosed" @close="handleClose">标签</Tag>`
|
|
58
65
|
> **说明**: closable 只显示关闭按钮,需要配合 closed 属性和 @close 事件来控制关闭行为
|
|
59
66
|
|
|
67
|
+
### 使用不存在的 type 值
|
|
60
68
|
> **错误用法**: `<Tag type="info">信息标签</Tag>`
|
|
61
69
|
> **正确写法**: `<Tag type="primary">主要标签</Tag>`
|
|
62
70
|
> **说明**: Tag 的 type 只支持 default, primary, success, warning, danger,不存在 info 值
|
|
63
71
|
|
|
72
|
+
### 拖拽标签组未设置 key
|
|
64
73
|
> **错误用法**: `<Tags draggable>
|
|
65
74
|
<Tag v-for="tag in tags">{{ tag }}</Tag>
|
|
66
75
|
</Tags>`
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# 时间轴 (Timeline)
|
|
2
|
+
|
|
3
|
+
时间轴组件,用于按时间顺序展示事件或流程记录。配合 TimelineItem 子组件使用,支持不同状态类型和自定义节点。
|
|
4
|
+
|
|
5
|
+
**关键词**: timeline, 时间轴, 操作记录, 流程日志, TimelineItem, dot
|
|
6
|
+
|
|
7
|
+
**使用场景**: 操作日志、订单轨迹、发布流程、任务执行记录
|
|
8
|
+
|
|
9
|
+
## 导入语句
|
|
10
|
+
```typescript
|
|
11
|
+
import { Timeline, TimelineItem } from '@king-design/vue';
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## 插槽 (Slots)
|
|
15
|
+
| 插槽名 | 说明 | 模板写法 | 示例 |
|
|
16
|
+
| --- | --- | --- | --- |
|
|
17
|
+
| default | 时间轴内容,通常由多个 TimelineItem 组成。 | `<Timeline>...</Timeline>` | `<Timeline><TimelineItem>创建完成</TimelineItem><TimelineItem>审核通过</TimelineItem></Timeline>` |
|
|
18
|
+
|
|
19
|
+
## 子组件 (Sub-Components)
|
|
20
|
+
### TimelineItem
|
|
21
|
+
时间轴节点项。
|
|
22
|
+
|
|
23
|
+
| 属性名 | 类型 | 说明 | 示例 |
|
|
24
|
+
| --- | --- | --- | --- |
|
|
25
|
+
| type | `"primary" | "warning" | "danger" | "success"` | 节点状态类型。 | `<TimelineItem type="success">发布成功</TimelineItem>` |
|
|
26
|
+
| size | `"large" | "default" | "small" | "mini"` | 节点尺寸。 | `<TimelineItem size="small">日志记录</TimelineItem>` |
|
|
27
|
+
|
|
28
|
+
**插槽**:
|
|
29
|
+
- `<template #dot>...</template>`: 自定义时间轴节点圆点。
|
|
30
|
+
|
|
31
|
+
## 常见错误与正确用法 (Anti-Hallucination)
|
|
32
|
+
### 在 Timeline 中直接写普通 div,而不是 TimelineItem
|
|
33
|
+
> **错误用法**: `<Timeline><div>创建成功</div><div>发布完成</div></Timeline>`
|
|
34
|
+
> **正确写法**: `<Timeline><TimelineItem>创建成功</TimelineItem><TimelineItem>发布完成</TimelineItem></Timeline>`
|
|
35
|
+
> **说明**: Timeline 负责整体容器结构,具体节点应使用 TimelineItem 渲染,才能获得连线、圆点和状态样式。
|
|
36
|
+
|
|
37
|
+
### 把 dot 插槽写在 Timeline 上
|
|
38
|
+
> **错误用法**: `<Timeline><template #dot>1</template></Timeline>`
|
|
39
|
+
> **正确写法**: `<Timeline><TimelineItem><template #dot>1</template>步骤一</TimelineItem></Timeline>`
|
|
40
|
+
> **说明**: dot 是 TimelineItem 的插槽,不属于 Timeline 容器本身。
|
|
41
|
+
|
|
42
|
+
## 使用示例
|
|
43
|
+
### 基础用法
|
|
44
|
+
**场景**: 展示任务处理过程
|
|
45
|
+
|
|
46
|
+
按时间顺序展示操作记录。
|
|
47
|
+
|
|
48
|
+
**使用的 API**: 属性: type | 插槽: default
|
|
49
|
+
|
|
50
|
+
```vue
|
|
51
|
+
<template>
|
|
52
|
+
<Timeline>
|
|
53
|
+
<TimelineItem>2026-04-20 10:00 创建任务</TimelineItem>
|
|
54
|
+
<TimelineItem>2026-04-20 10:10 分配负责人</TimelineItem>
|
|
55
|
+
<TimelineItem type="success">2026-04-20 10:30 处理完成</TimelineItem>
|
|
56
|
+
</Timeline>
|
|
57
|
+
</template>
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### 不同状态节点
|
|
61
|
+
**场景**: 用时间轴展示状态变更
|
|
62
|
+
|
|
63
|
+
用颜色区分不同阶段。
|
|
64
|
+
|
|
65
|
+
**使用的 API**: 属性: type | 插槽: default
|
|
66
|
+
|
|
67
|
+
```vue
|
|
68
|
+
<template>
|
|
69
|
+
<Timeline>
|
|
70
|
+
<TimelineItem type="primary">等待执行</TimelineItem>
|
|
71
|
+
<TimelineItem type="warning">处理中</TimelineItem>
|
|
72
|
+
<TimelineItem type="danger">执行失败</TimelineItem>
|
|
73
|
+
<TimelineItem type="success">重新执行成功</TimelineItem>
|
|
74
|
+
</Timeline>
|
|
75
|
+
</template>
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### 自定义节点
|
|
79
|
+
**场景**: 用图标增强时间轴状态表达
|
|
80
|
+
|
|
81
|
+
通过 dot 插槽渲染图标或编号。
|
|
82
|
+
|
|
83
|
+
**使用的 API**: 属性: type | 插槽: dot
|
|
84
|
+
|
|
85
|
+
```vue
|
|
86
|
+
<script setup lang="ts">
|
|
87
|
+
import { Icon, Timeline, TimelineItem } from '@king-design/vue';
|
|
88
|
+
</script>
|
|
89
|
+
<template>
|
|
90
|
+
<Timeline>
|
|
91
|
+
<TimelineItem>
|
|
92
|
+
<template #dot>
|
|
93
|
+
<Icon class="k-icon-play-circle" />
|
|
94
|
+
</template>
|
|
95
|
+
服务启动
|
|
96
|
+
</TimelineItem>
|
|
97
|
+
<TimelineItem type="success">
|
|
98
|
+
<template #dot>
|
|
99
|
+
<Icon class="k-icon-check" />
|
|
100
|
+
</template>
|
|
101
|
+
健康检查通过
|
|
102
|
+
</TimelineItem>
|
|
103
|
+
</Timeline>
|
|
104
|
+
</template>
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
## 相关组件
|
|
108
|
+
Steps, Tag, Icon
|
|
109
|
+
|