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,13 +12,13 @@ import { Message } from '@king-design/vue';
|
|
|
12
12
|
```
|
|
13
13
|
|
|
14
14
|
## 属性 (Props)
|
|
15
|
-
| 属性名 | 类型 | 默认值 | 必填 | 说明 | 示例 |
|
|
16
|
-
| --- | --- | --- | --- | --- | --- |
|
|
17
|
-
| content | `string | VNode` | `undefined` | 否 | 提示内容 | `Message.info({ content: '提示内容' })` |
|
|
18
|
-
| duration | `number` | `5000` | 否 | 提示展示多长时间后自动关闭,传入 0 时不自动关闭,单位 ms | `Message.info('提示', 10000)` |
|
|
19
|
-
| type | `"info" | "error" | "success" | "warning"` | `"info"` | 否 | 提示类型 | `Message.success('成功')` |
|
|
20
|
-
| closable | `boolean` | `false` | 否 | 是否展示关闭按钮 | `Message.info({ content: '可关闭', closable: true })` |
|
|
21
|
-
| hideIcon | `boolean` | `false` | 否 | 是否隐藏文字前面的图标 | `Message.info({ content: '无图标', hideIcon: true })` |
|
|
15
|
+
| 属性名 | 类型 | 默认值 | 必填 | 说明 | 标签 | 示例 |
|
|
16
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
17
|
+
| content | `string | VNode` | `undefined` | 否 | 提示内容 | - | `Message.info({ content: '提示内容' })` |
|
|
18
|
+
| duration | `number` | `5000` | 否 | 提示展示多长时间后自动关闭,传入 0 时不自动关闭,单位 ms | - | `Message.info('提示', 10000)` |
|
|
19
|
+
| type | `"info" | "error" | "success" | "warning"` | `"info"` | 否 | 提示类型 | - | `Message.success('成功')` |
|
|
20
|
+
| closable | `boolean` | `false` | 否 | 是否展示关闭按钮 | - | `Message.info({ content: '可关闭', closable: true })` |
|
|
21
|
+
| hideIcon | `boolean` | `false` | 否 | 是否隐藏文字前面的图标 | - | `Message.info({ content: '无图标', hideIcon: true })` |
|
|
22
22
|
|
|
23
23
|
## 方法 (Methods)
|
|
24
24
|
| 方法名 | 说明 | 参数 | 返回值 |
|
|
@@ -28,17 +28,94 @@ import { Message } from '@king-design/vue';
|
|
|
28
28
|
| warning | 显示警告提示消息 | `content: string | VNode | Partial<MessageProps>, duration: number` | `void` |
|
|
29
29
|
| error | 显示错误提示消息 | `content: string | VNode | Partial<MessageProps>, duration: number` | `void` |
|
|
30
30
|
|
|
31
|
+
### 方法参数说明
|
|
32
|
+
**info**
|
|
33
|
+
|
|
34
|
+
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|
|
35
|
+
| --- | --- | --- | --- | --- |
|
|
36
|
+
| content | `string | VNode | Partial<MessageProps>` | 是 | - | 提示内容或配置对象 |
|
|
37
|
+
| duration | `number` | 是 | - | 可选,显示时长(ms) |
|
|
38
|
+
|
|
39
|
+
调用示例:
|
|
40
|
+
```typescript
|
|
41
|
+
Message.info('这是一条普通消息');
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
**success**
|
|
45
|
+
|
|
46
|
+
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|
|
47
|
+
| --- | --- | --- | --- | --- |
|
|
48
|
+
| content | `string | VNode | Partial<MessageProps>` | 是 | - | 提示内容或配置对象 |
|
|
49
|
+
| duration | `number` | 是 | - | 可选,显示时长(ms) |
|
|
50
|
+
|
|
51
|
+
调用示例:
|
|
52
|
+
```typescript
|
|
53
|
+
Message.success('操作成功');
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
**warning**
|
|
57
|
+
|
|
58
|
+
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|
|
59
|
+
| --- | --- | --- | --- | --- |
|
|
60
|
+
| content | `string | VNode | Partial<MessageProps>` | 是 | - | 提示内容或配置对象 |
|
|
61
|
+
| duration | `number` | 是 | - | 可选,显示时长(ms) |
|
|
62
|
+
|
|
63
|
+
调用示例:
|
|
64
|
+
```typescript
|
|
65
|
+
Message.warning('请注意');
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
**error**
|
|
69
|
+
|
|
70
|
+
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|
|
71
|
+
| --- | --- | --- | --- | --- |
|
|
72
|
+
| content | `string | VNode | Partial<MessageProps>` | 是 | - | 提示内容或配置对象 |
|
|
73
|
+
| duration | `number` | 是 | - | 可选,显示时长(ms) |
|
|
74
|
+
|
|
75
|
+
调用示例:
|
|
76
|
+
```typescript
|
|
77
|
+
Message.error('操作失败');
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### 方法调用示例
|
|
81
|
+
**info**
|
|
82
|
+
|
|
83
|
+
```typescript
|
|
84
|
+
Message.info('这是一条普通消息');
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
**success**
|
|
88
|
+
|
|
89
|
+
```typescript
|
|
90
|
+
Message.success('操作成功');
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
**warning**
|
|
94
|
+
|
|
95
|
+
```typescript
|
|
96
|
+
Message.warning('请注意');
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
**error**
|
|
100
|
+
|
|
101
|
+
```typescript
|
|
102
|
+
Message.error('操作失败');
|
|
103
|
+
```
|
|
104
|
+
|
|
31
105
|
## 常见错误与正确用法 (Anti-Hallucination)
|
|
106
|
+
### 未导入 Message 组件
|
|
32
107
|
> **错误用法**: `Message.success('成功'); // ReferenceError: Message is not defined`
|
|
33
108
|
> **正确写法**: `import { Message } from '@king-design/vue';
|
|
34
109
|
|
|
35
110
|
Message.success('成功');`
|
|
36
111
|
> **说明**: 使用 Message 前需要先从 @king-design/vue 导入
|
|
37
112
|
|
|
113
|
+
### duration 使用字符串而非数字
|
|
38
114
|
> **错误用法**: `Message.info('提示', '5000');`
|
|
39
115
|
> **正确写法**: `Message.info('提示', 5000);`
|
|
40
116
|
> **说明**: duration 必须是数字类型,单位是毫秒
|
|
41
117
|
|
|
118
|
+
### 传入配置对象时忘记设置 content
|
|
42
119
|
> **错误用法**: `Message.info({ duration: 10000 });`
|
|
43
120
|
> **正确写法**: `Message.info({ content: '提示内容', duration: 10000 });`
|
|
44
121
|
> **说明**: 使用配置对象时必须包含 content 属性
|
|
@@ -49,6 +126,8 @@ Message.success('成功');`
|
|
|
49
126
|
|
|
50
127
|
基本的消息提示
|
|
51
128
|
|
|
129
|
+
**使用的 API**: 方法: info
|
|
130
|
+
|
|
52
131
|
```vue
|
|
53
132
|
<script setup lang="ts">
|
|
54
133
|
import { Button, Message } from '@king-design/vue';
|
|
@@ -67,6 +146,8 @@ const showMessage = () => {
|
|
|
67
146
|
|
|
68
147
|
四种类型的消息提示
|
|
69
148
|
|
|
149
|
+
**使用的 API**: 方法: success, warning, error, info
|
|
150
|
+
|
|
70
151
|
```vue
|
|
71
152
|
<script setup lang="ts">
|
|
72
153
|
import { Button, Message } from '@king-design/vue';
|
|
@@ -89,7 +170,7 @@ const showInfo = () => Message.info('提示信息');
|
|
|
89
170
|
|
|
90
171
|
设置消息显示时长
|
|
91
172
|
|
|
92
|
-
**使用的 API**: 属性: duration
|
|
173
|
+
**使用的 API**: 属性: duration | 方法: info, warning
|
|
93
174
|
|
|
94
175
|
```vue
|
|
95
176
|
<script setup lang="ts">
|
|
@@ -116,7 +197,7 @@ const showPermanent = () => {
|
|
|
116
197
|
|
|
117
198
|
带关闭按钮的消息
|
|
118
199
|
|
|
119
|
-
**使用的 API**: 属性: content, closable, duration
|
|
200
|
+
**使用的 API**: 属性: content, closable, duration | 方法: info
|
|
120
201
|
|
|
121
202
|
```vue
|
|
122
203
|
<script setup lang="ts">
|
|
@@ -140,7 +221,7 @@ const showMessage = () => {
|
|
|
140
221
|
|
|
141
222
|
不显示图标的消息
|
|
142
223
|
|
|
143
|
-
**使用的 API**: 属性: content, hideIcon
|
|
224
|
+
**使用的 API**: 属性: content, hideIcon | 方法: success
|
|
144
225
|
|
|
145
226
|
```vue
|
|
146
227
|
<script setup lang="ts">
|
|
@@ -163,6 +244,8 @@ const showMessage = () => {
|
|
|
163
244
|
|
|
164
245
|
常见的 API 请求结果提示
|
|
165
246
|
|
|
247
|
+
**使用的 API**: 方法: success, error
|
|
248
|
+
|
|
166
249
|
```vue
|
|
167
250
|
<script setup lang="ts">
|
|
168
251
|
import { ref } from 'vue';
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
# 通知提醒 (Notification)
|
|
2
|
+
|
|
3
|
+
全局通知组件,用于展示可停留、可关闭的系统级通知信息。支持不同语义类型、展示位置、自定义图标和点击回调,适合成功反馈、系统公告和后台异步任务提醒。
|
|
4
|
+
|
|
5
|
+
**关键词**: notification, 通知, 提醒, 全局通知, notice
|
|
6
|
+
|
|
7
|
+
**使用场景**: 系统公告提醒、异步任务完成通知、操作成功或失败反馈
|
|
8
|
+
|
|
9
|
+
## 导入语句
|
|
10
|
+
```typescript
|
|
11
|
+
import { Notification } from '@king-design/vue';
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## 属性 (Props)
|
|
15
|
+
| 属性名 | 类型 | 默认值 | 必填 | 说明 | 标签 | 示例 |
|
|
16
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
17
|
+
| title | `Children` | `undefined` | 否 | 通知标题内容 | - | `Notification.notice({ title: '部署完成' })` |
|
|
18
|
+
| content | `Children` | `undefined` | 否 | 通知正文内容 | - | `Notification.notice({ content: '实例已经创建成功' })` |
|
|
19
|
+
| duration | `number` | `5000` | 否 | 通知自动关闭时间,单位 ms;传入 0 表示不自动关闭 | - | `Notification.info({ title: '处理中', duration: 0 })` |
|
|
20
|
+
| type | `"info" | "error" | "success" | "warning" | ""` | `"info"` | 否 | 通知类型 | - | `Notification.success({ title: '发布成功' })` |
|
|
21
|
+
| closable | `boolean` | `true` | 否 | 是否显示关闭按钮 | - | `Notification.notice({ title: '系统公告', closable: false })` |
|
|
22
|
+
| icon | `string | VNode` | `undefined` | 否 | 自定义通知图标 | - | `Notification.notice({ title: '自定义图标', icon: 'k-icon-info' })` |
|
|
23
|
+
| position | `"topRight" | "topLeft" | "bottomRight" | "bottomLeft" | "top" | "bottom"` | `"topRight"` | 否 | 通知展示位置 | - | `Notification.info({ title: '左下角通知', position: 'bottomLeft' })` |
|
|
24
|
+
| className | `string` | `undefined` | 否 | 自定义通知根节点类名 | - | `Notification.notice({ title: '自定义样式', className: 'my-notification' })` |
|
|
25
|
+
| onClick | `(e: MouseEvent) => void` | `undefined` | 否 | 点击通知主体时触发的回调 | - | `Notification.notice({ title: '查看详情', onClick: () => console.log('clicked') })` |
|
|
26
|
+
| onClose | `() => void` | `undefined` | 否 | 通知关闭后触发的回调 | - | `Notification.notice({ title: '关闭回调', onClose: () => console.log('closed') })` |
|
|
27
|
+
|
|
28
|
+
## 方法 (Methods)
|
|
29
|
+
| 方法名 | 说明 | 参数 | 返回值 |
|
|
30
|
+
| --- | --- | --- | --- |
|
|
31
|
+
| notice | 展示一条通知并返回唯一 ID | `props: Partial<NotificationProps>` | `number` |
|
|
32
|
+
| close | 关闭指定 ID 的通知 | `id: number` | `void` |
|
|
33
|
+
| info | 展示普通类型通知 | `props: Partial<NotificationProps>` | `number` |
|
|
34
|
+
| success | 展示成功类型通知 | `props: Partial<NotificationProps>` | `number` |
|
|
35
|
+
| warning | 展示警告类型通知 | `props: Partial<NotificationProps>` | `number` |
|
|
36
|
+
| error | 展示错误类型通知 | `props: Partial<NotificationProps>` | `number` |
|
|
37
|
+
|
|
38
|
+
### 方法参数说明
|
|
39
|
+
**notice**
|
|
40
|
+
|
|
41
|
+
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|
|
42
|
+
| --- | --- | --- | --- | --- |
|
|
43
|
+
| props | `Partial<NotificationProps>` | 是 | - | 通知配置对象 |
|
|
44
|
+
|
|
45
|
+
调用示例:
|
|
46
|
+
```typescript
|
|
47
|
+
const id = Notification.notice({ title: '部署完成', content: '实例已创建完成' });
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
**close**
|
|
51
|
+
|
|
52
|
+
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|
|
53
|
+
| --- | --- | --- | --- | --- |
|
|
54
|
+
| id | `number` | 是 | - | 由 notice 返回的通知 ID |
|
|
55
|
+
|
|
56
|
+
调用示例:
|
|
57
|
+
```typescript
|
|
58
|
+
Notification.close(id);
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
**info**
|
|
62
|
+
|
|
63
|
+
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|
|
64
|
+
| --- | --- | --- | --- | --- |
|
|
65
|
+
| props | `Partial<NotificationProps>` | 是 | - | 通知配置对象 |
|
|
66
|
+
|
|
67
|
+
调用示例:
|
|
68
|
+
```typescript
|
|
69
|
+
Notification.info({ title: '普通提醒', content: '这是一条信息通知' });
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
**success**
|
|
73
|
+
|
|
74
|
+
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|
|
75
|
+
| --- | --- | --- | --- | --- |
|
|
76
|
+
| props | `Partial<NotificationProps>` | 是 | - | 通知配置对象 |
|
|
77
|
+
|
|
78
|
+
调用示例:
|
|
79
|
+
```typescript
|
|
80
|
+
Notification.success({ title: '保存成功', content: '配置已更新' });
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
**warning**
|
|
84
|
+
|
|
85
|
+
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|
|
86
|
+
| --- | --- | --- | --- | --- |
|
|
87
|
+
| props | `Partial<NotificationProps>` | 是 | - | 通知配置对象 |
|
|
88
|
+
|
|
89
|
+
调用示例:
|
|
90
|
+
```typescript
|
|
91
|
+
Notification.warning({ title: '余额不足', content: '请尽快续费' });
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
**error**
|
|
95
|
+
|
|
96
|
+
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|
|
97
|
+
| --- | --- | --- | --- | --- |
|
|
98
|
+
| props | `Partial<NotificationProps>` | 是 | - | 通知配置对象 |
|
|
99
|
+
|
|
100
|
+
调用示例:
|
|
101
|
+
```typescript
|
|
102
|
+
Notification.error({ title: '提交失败', content: '请稍后重试' });
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### 方法调用示例
|
|
106
|
+
**notice**
|
|
107
|
+
|
|
108
|
+
```typescript
|
|
109
|
+
const id = Notification.notice({ title: '部署完成', content: '实例已创建完成' });
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
**close**
|
|
113
|
+
|
|
114
|
+
```typescript
|
|
115
|
+
Notification.close(id);
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
**info**
|
|
119
|
+
|
|
120
|
+
```typescript
|
|
121
|
+
Notification.info({ title: '普通提醒', content: '这是一条信息通知' });
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
**success**
|
|
125
|
+
|
|
126
|
+
```typescript
|
|
127
|
+
Notification.success({ title: '保存成功', content: '配置已更新' });
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
**warning**
|
|
131
|
+
|
|
132
|
+
```typescript
|
|
133
|
+
Notification.warning({ title: '余额不足', content: '请尽快续费' });
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
**error**
|
|
137
|
+
|
|
138
|
+
```typescript
|
|
139
|
+
Notification.error({ title: '提交失败', content: '请稍后重试' });
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
## 使用示例
|
|
143
|
+
### 基础通知
|
|
144
|
+
**场景**: 在页面操作完成后展示全局反馈。
|
|
145
|
+
|
|
146
|
+
点击按钮展示基础通知。
|
|
147
|
+
|
|
148
|
+
**使用的 API**: 方法: notice
|
|
149
|
+
|
|
150
|
+
```vue
|
|
151
|
+
<script setup lang="ts">
|
|
152
|
+
import { Button, Notification } from '@king-design/vue';
|
|
153
|
+
|
|
154
|
+
const openNotification = () => {
|
|
155
|
+
Notification.notice({
|
|
156
|
+
title: 'Hello, King Design',
|
|
157
|
+
content: '这是一条基础通知',
|
|
158
|
+
});
|
|
159
|
+
};
|
|
160
|
+
</script>
|
|
161
|
+
<template>
|
|
162
|
+
<Button @click="openNotification">打开通知</Button>
|
|
163
|
+
</template>
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
### 不同类型
|
|
167
|
+
**场景**: 根据业务结果展示不同语义反馈。
|
|
168
|
+
|
|
169
|
+
按语义展示不同类型的通知。
|
|
170
|
+
|
|
171
|
+
**使用的 API**: 属性: type | 方法: info, success, warning, error
|
|
172
|
+
|
|
173
|
+
```vue
|
|
174
|
+
<script setup lang="ts">
|
|
175
|
+
import { Button, Notification } from '@king-design/vue';
|
|
176
|
+
</script>
|
|
177
|
+
<template>
|
|
178
|
+
<div style="display: flex; gap: 8px; flex-wrap: wrap;">
|
|
179
|
+
<Button @click="Notification.info({ title: '普通提醒', content: '这是一条信息通知' })">Info</Button>
|
|
180
|
+
<Button @click="Notification.success({ title: '发布成功', content: '版本已上线' })">Success</Button>
|
|
181
|
+
<Button @click="Notification.warning({ title: '容量不足', content: '请及时清理磁盘' })">Warning</Button>
|
|
182
|
+
<Button @click="Notification.error({ title: '同步失败', content: '网络连接异常' })">Error</Button>
|
|
183
|
+
</div>
|
|
184
|
+
</template>
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
### 位置与常驻
|
|
188
|
+
**场景**: 展示需要用户明确感知和手动关闭的通知。
|
|
189
|
+
|
|
190
|
+
控制通知位置并让通知常驻直到手动关闭。
|
|
191
|
+
|
|
192
|
+
**使用的 API**: 属性: position, duration | 方法: notice
|
|
193
|
+
|
|
194
|
+
```vue
|
|
195
|
+
<script setup lang="ts">
|
|
196
|
+
import { Button, Notification } from '@king-design/vue';
|
|
197
|
+
|
|
198
|
+
const openPinned = () => {
|
|
199
|
+
Notification.notice({
|
|
200
|
+
title: '系统公告',
|
|
201
|
+
content: '该通知位于底部且不会自动关闭',
|
|
202
|
+
position: 'bottom',
|
|
203
|
+
duration: 0,
|
|
204
|
+
});
|
|
205
|
+
};
|
|
206
|
+
</script>
|
|
207
|
+
<template>
|
|
208
|
+
<Button @click="openPinned">打开常驻通知</Button>
|
|
209
|
+
</template>
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
## 相关组件
|
|
213
|
+
Message, Dialog
|
|
214
|
+
|
|
@@ -12,29 +12,36 @@ import { Pagination } from '@king-design/vue';
|
|
|
12
12
|
```
|
|
13
13
|
|
|
14
14
|
## 属性 (Props)
|
|
15
|
-
| 属性名 | 类型 | 默认值 | 必填 | 说明 | 示例 |
|
|
16
|
-
| --- | --- | --- | --- | --- | --- |
|
|
17
|
-
| value | `number` | `1` | 否 | 当前页码,可用 v-model 双向绑定 | `<Pagination v-model="currentPage" :total="100" />` |
|
|
18
|
-
| total | `number` | `0` | 否 | 数据总条数 | `<Pagination :total="1000" />` |
|
|
19
|
-
| limit | `number` | `10` | 否 | 每页条数,可用 v-model:limit 双向绑定 | `<Pagination v-model:limit="pageSize" :total="100" />` |
|
|
20
|
-
| limits | `Array<number>` | `[10, 20, 50]` | 否 | 可选的每页条数列表 | `<Pagination :limits="[20, 50, 100, 200]" :total="1000" />` |
|
|
21
|
-
| size | `"large" | "default" | "small" | "mini"` | `"default"` | 否 | 尺寸 | `<Pagination size="small" :total="100" />` |
|
|
22
|
-
| counts | `number` | `7` | 否 | 展示的页码按钮个数 | `<Pagination :counts="5" :total="100" />` |
|
|
23
|
-
| flat | `boolean` | `false` | 否 | 是否展示无边框样式 | `<Pagination flat :total="100" />` |
|
|
24
|
-
| simple | `boolean` | `false` | 否 | 是否展示简洁样式 | `<Pagination simple :total="100" />` |
|
|
25
|
-
| showTotal | `boolean` | `true` | 否 | 是否显示总条数 | `<Pagination :showTotal="false" :total="100" />` |
|
|
26
|
-
| showGoto | `boolean` | `false` | 否 | 是否显示快速跳转框 | `<Pagination showGoto :total="100" />` |
|
|
27
|
-
| showLimits | `boolean` | `true` | 否 | 是否显示每页条数选择框 | `<Pagination :showLimits="false" :total="100" />` |
|
|
28
|
-
| disableBtn | `(page: number, limit: number) => boolean` | `undefined` | 否 | 禁用页码按钮的函数,"上一页""下一页"按钮依然可点 | `<Pagination :disableBtn="(page) => page > 10" :total="200" /></Pagination>` |
|
|
29
|
-
| disablePage | `(page: number, limit: number) => boolean` | `undefined` | 否 | 同时禁用页码按钮和"上一页""下一页"按钮的函数 | `<Pagination :disablePage="(page) => page > 10" :total="200" /></Pagination>` |
|
|
15
|
+
| 属性名 | 类型 | 默认值 | 必填 | 说明 | 标签 | 示例 |
|
|
16
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
17
|
+
| value | `number` | `1` | 否 | 当前页码,可用 v-model 双向绑定 | - | `<Pagination v-model="currentPage" :total="100" />` |
|
|
18
|
+
| total | `number` | `0` | 否 | 数据总条数 | - | `<Pagination :total="1000" />` |
|
|
19
|
+
| limit | `number` | `10` | 否 | 每页条数,可用 v-model:limit 双向绑定 | - | `<Pagination v-model:limit="pageSize" :total="100" />` |
|
|
20
|
+
| limits | `Array<number>` | `[10, 20, 50]` | 否 | 可选的每页条数列表 | - | `<Pagination :limits="[20, 50, 100, 200]" :total="1000" />` |
|
|
21
|
+
| size | `"large" | "default" | "small" | "mini"` | `"default"` | 否 | 尺寸 | - | `<Pagination size="small" :total="100" />` |
|
|
22
|
+
| counts | `number` | `7` | 否 | 展示的页码按钮个数 | - | `<Pagination :counts="5" :total="100" />` |
|
|
23
|
+
| flat | `boolean` | `false` | 否 | 是否展示无边框样式 | - | `<Pagination flat :total="100" />` |
|
|
24
|
+
| simple | `boolean` | `false` | 否 | 是否展示简洁样式 | - | `<Pagination simple :total="100" />` |
|
|
25
|
+
| showTotal | `boolean` | `true` | 否 | 是否显示总条数 | - | `<Pagination :showTotal="false" :total="100" />` |
|
|
26
|
+
| showGoto | `boolean` | `false` | 否 | 是否显示快速跳转框 | - | `<Pagination showGoto :total="100" />` |
|
|
27
|
+
| showLimits | `boolean` | `true` | 否 | 是否显示每页条数选择框 | - | `<Pagination :showLimits="false" :total="100" />` |
|
|
28
|
+
| disableBtn | `(page: number, limit: number) => boolean` | `undefined` | 否 | 禁用页码按钮的函数,"上一页""下一页"按钮依然可点 | - | `<Pagination :disableBtn="(page) => page > 10" :total="200" /></Pagination>` |
|
|
29
|
+
| disablePage | `(page: number, limit: number) => boolean` | `undefined` | 否 | 同时禁用页码按钮和"上一页""下一页"按钮的函数 | - | `<Pagination :disablePage="(page) => page > 10" :total="200" /></Pagination>` |
|
|
30
30
|
|
|
31
31
|
## 事件 (Events)
|
|
32
32
|
| 事件名 | Vue事件名 | 说明 | 回调参数 | 示例 |
|
|
33
33
|
| --- | --- | --- | --- | --- |
|
|
34
34
|
| change | `@change` | value 和 limit 变化时触发,同时变化不会重复触发 | `value: number, limit: number` | `<Pagination @change="handleChange" :total="100" />` |
|
|
35
35
|
|
|
36
|
-
###
|
|
37
|
-
**change
|
|
36
|
+
### 事件参数说明
|
|
37
|
+
**change**
|
|
38
|
+
|
|
39
|
+
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|
|
40
|
+
| --- | --- | --- | --- | --- |
|
|
41
|
+
| value | `number` | 是 | - | 当前页码 |
|
|
42
|
+
| limit | `number` | 是 | - | 每页条数 |
|
|
43
|
+
|
|
44
|
+
事件处理示例:
|
|
38
45
|
```typescript
|
|
39
46
|
const handleChange = ({value, limit}: {value: number; limit: number}) => {
|
|
40
47
|
console.log(`当前页: ${value}, 每页: ${limit}`);
|
|
@@ -43,26 +50,32 @@ const handleChange = ({value, limit}: {value: number; limit: number}) => {
|
|
|
43
50
|
```
|
|
44
51
|
|
|
45
52
|
## 常见错误与正确用法 (Anti-Hallucination)
|
|
53
|
+
### 未设置 total 属性
|
|
46
54
|
> **错误用法**: `<Pagination v-model="currentPage" />`
|
|
47
55
|
> **正确写法**: `<Pagination v-model="currentPage" :total="100" />`
|
|
48
56
|
> **说明**: 必须设置 total 属性来指定数据总条数,否则分页无法正确计算总页数
|
|
49
57
|
|
|
58
|
+
### 使用不存在的 size 值 (Pagination)
|
|
50
59
|
> **错误用法**: `<Pagination size="medium" :total="100" />`
|
|
51
60
|
> **正确写法**: `<Pagination size="default" :total="100" />`
|
|
52
61
|
> **说明**: Pagination 的 size 只支持 large, default, small, mini。常见错误是使用 medium 值。
|
|
53
62
|
|
|
63
|
+
### limit 值不在 limits 列表中
|
|
54
64
|
> **错误用法**: `<Pagination :limit="15" :limits="[10, 20, 50]" :total="100" />`
|
|
55
65
|
> **正确写法**: `<Pagination :limit="10" :limits="[10, 20, 50]" :total="100" />`
|
|
56
66
|
> **说明**: limit 的初始值应该在 limits 列表中,否则可能导致显示异常
|
|
57
67
|
|
|
68
|
+
### change 事件参数解构错误
|
|
58
69
|
> **错误用法**: `const handleChange = (value, limit) => {}`
|
|
59
70
|
> **正确写法**: `const handleChange = ({value, limit}: {value: number; limit: number}) => {}`
|
|
60
71
|
> **说明**: change 事件的参数是一个对象,需要解构获取 value 和 limit
|
|
61
72
|
|
|
73
|
+
### 错误使用 Element UI 风格事件名
|
|
62
74
|
> **错误用法**: `<Pagination @current-change="..." @size-change="..." />`
|
|
63
75
|
> **正确写法**: `<Pagination @change="..." />`
|
|
64
76
|
> **说明**: KPC Pagination 不支持 `@current-change` 或 `@size-change`,请统一使用 `@change` 事件监听页码或每页条数变化。
|
|
65
77
|
|
|
78
|
+
### 建议使用 v-model 进行双向绑定
|
|
66
79
|
> **错误用法**: `<Pagination :value="page" :limit="size" @change="..." />`
|
|
67
80
|
> **正确写法**: `<Pagination v-model="page" v-model:limit="size" />`
|
|
68
81
|
> **说明**: 推荐使用 `v-model` 绑定当前页码,`v-model:limit` 绑定每页条数,更加简洁。
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
集成选中统计和操作的分页组件,继承自 Pagination。
|
|
4
4
|
|
|
5
|
-
**关键词**: pagination, page, paging,
|
|
5
|
+
**关键词**: pagination, page, paging, 分页, 增强分页, 选中统计分页, 列表底部分页
|
|
6
6
|
|
|
7
|
-
**使用场景**:
|
|
7
|
+
**使用场景**: 列表页分页控制、批量勾选后的分页统计、带选中数量提示的资源列表分页
|
|
8
8
|
|
|
9
9
|
## 导入语句
|
|
10
10
|
```typescript
|
|
@@ -12,21 +12,42 @@ import { PaginationPlus } from '@ksyun-internal/versatile';
|
|
|
12
12
|
```
|
|
13
13
|
|
|
14
14
|
## 属性 (Props)
|
|
15
|
-
| 属性名 | 类型 | 默认值 | 必填 | 说明 | 示例 |
|
|
16
|
-
| --- | --- | --- | --- | --- | --- |
|
|
17
|
-
|
|
|
18
|
-
|
|
|
19
|
-
|
|
|
20
|
-
|
|
|
15
|
+
| 属性名 | 类型 | 默认值 | 必填 | 说明 | 标签 | 示例 |
|
|
16
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
17
|
+
| total | `number` | `0` | 否 | 数据总条数 | `inherited:Pagination` | `<Pagination :total="1000" />` |
|
|
18
|
+
| limit | `number` | `10` | 否 | 每页条数,可用 v-model:limit 双向绑定 | `inherited:Pagination` | `<Pagination v-model:limit="pageSize" :total="100" />` |
|
|
19
|
+
| limits | `Array<number>` | `[10, 20, 50]` | 否 | 可选的每页条数列表 | `inherited:Pagination` | `<Pagination :limits="[20, 50, 100, 200]" :total="1000" />` |
|
|
20
|
+
| size | `"large" | "default" | "small" | "mini"` | `"default"` | 否 | 尺寸 | `inherited:Pagination` | `<Pagination size="small" :total="100" />` |
|
|
21
|
+
| counts | `number` | `7` | 否 | 展示的页码按钮个数 | `inherited:Pagination` | `<Pagination :counts="5" :total="100" />` |
|
|
22
|
+
| flat | `boolean` | `false` | 否 | 是否展示无边框样式 | `inherited:Pagination` | `<Pagination flat :total="100" />` |
|
|
23
|
+
| simple | `boolean` | `false` | 否 | 是否展示简洁样式 | `inherited:Pagination` | `<Pagination simple :total="100" />` |
|
|
24
|
+
| showTotal | `boolean` | `true` | 否 | 是否显示总条数 | `inherited:Pagination` | `<Pagination :showTotal="false" :total="100" />` |
|
|
25
|
+
| showGoto | `boolean` | `false` | 否 | 是否显示快速跳转框 | `inherited:Pagination` | `<Pagination showGoto :total="100" />` |
|
|
26
|
+
| showLimits | `boolean` | `true` | 否 | 是否显示每页条数选择框 | `inherited:Pagination` | `<Pagination :showLimits="false" :total="100" />` |
|
|
27
|
+
| disableBtn | `(page: number, limit: number) => boolean` | `undefined` | 否 | 禁用页码按钮的函数,"上一页""下一页"按钮依然可点 | `inherited:Pagination` | `<Pagination :disableBtn="(page) => page > 10" :total="200" /></Pagination>` |
|
|
28
|
+
| disablePage | `(page: number, limit: number) => boolean` | `undefined` | 否 | 同时禁用页码按钮和"上一页""下一页"按钮的函数 | `inherited:Pagination` | `<Pagination :disablePage="(page) => page > 10" :total="200" /></Pagination>` |
|
|
29
|
+
| modelValue | `number` | `undefined` | 否 | 当前页码 | - | - |
|
|
30
|
+
| checkedKeys | `any[]` | `undefined` | 否 | 选中的行的 key 列表 | - | - |
|
|
31
|
+
| checkedLength | `number` | `undefined` | 否 | 选中的总数量 | - | - |
|
|
32
|
+
| showCheckedTotal | `boolean` | `true` | 否 | 是否显示选中统计信息 | - | - |
|
|
21
33
|
|
|
22
34
|
## 事件 (Events)
|
|
23
35
|
| 事件名 | Vue事件名 | 说明 | 回调参数 | 示例 |
|
|
24
36
|
| --- | --- | --- | --- | --- |
|
|
25
37
|
| change | `change` | 页码或每页条数改变时触发 | `data: { page: number, limit: number }` | `<PaginationPlus @change="onChange" />` |
|
|
26
38
|
|
|
27
|
-
###
|
|
28
|
-
**change
|
|
39
|
+
### 事件参数说明
|
|
40
|
+
**change**
|
|
41
|
+
|
|
42
|
+
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|
|
43
|
+
| --- | --- | --- | --- | --- |
|
|
44
|
+
| data | `{ page: number, limit: number }` | 是 | - | 分页信息 |
|
|
45
|
+
|
|
46
|
+
事件处理示例:
|
|
29
47
|
```typescript
|
|
30
48
|
({ page, limit }) => { params.page = page; }
|
|
31
49
|
```
|
|
32
50
|
|
|
51
|
+
## 相关组件
|
|
52
|
+
Pagination, ProTable
|
|
53
|
+
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# 密码输入 (Password)
|
|
2
|
+
|
|
3
|
+
面向密码录入的业务输入组件,内置校验能力和错误提示展示,适合实例登录密码、数据库密码等安全场景。
|
|
4
|
+
|
|
5
|
+
**关键词**: password, password input, 密码输入, 密码校验, 数据库密码, 登录密码
|
|
6
|
+
|
|
7
|
+
**使用场景**: 账号凭证录入、新建实例密码配置、数据库密码复杂度校验
|
|
8
|
+
|
|
9
|
+
## 导入语句
|
|
10
|
+
```typescript
|
|
11
|
+
import { Password } from '@ksyun-internal/versatile';
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## 属性 (Props)
|
|
15
|
+
| 属性名 | 类型 | 默认值 | 必填 | 说明 | 标签 | 示例 |
|
|
16
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
17
|
+
| modelValue | `string` | `undefined` | 否 | 当前密码值 | - | - |
|
|
18
|
+
| validate | `string | Function` | `undefined` | 否 | 自定义校验函数或校验规则 | - | - |
|
|
19
|
+
| errorMessage | `string` | `undefined` | 否 | 校验失败时的错误提示文案 | - | - |
|
|
20
|
+
|
|
21
|
+
## 事件 (Events)
|
|
22
|
+
| 事件名 | Vue事件名 | 说明 | 回调参数 | 示例 |
|
|
23
|
+
| --- | --- | --- | --- | --- |
|
|
24
|
+
| update:modelValue | `@update:modelValue` | 密码内容变化时触发,可与父级表单或强度校验逻辑联动。 | `value?: string` | - |
|
|
25
|
+
|
|
26
|
+
### 事件参数说明
|
|
27
|
+
**update:modelValue**
|
|
28
|
+
|
|
29
|
+
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|
|
30
|
+
| --- | --- | --- | --- | --- |
|
|
31
|
+
| value | `string` | 否 | - | 当前输入的密码值。 |
|
|
32
|
+
|
|
33
|
+
## 使用示例
|
|
34
|
+
### 实例登录密码录入
|
|
35
|
+
**场景**: 在创建实例或重置密码时录入并校验登录密码。
|
|
36
|
+
|
|
37
|
+
结合 validate 和错误提示控制密码输入质量。
|
|
38
|
+
|
|
39
|
+
**使用的 API**: 属性: modelValue, validate, errorMessage | 事件: update:modelValue
|
|
40
|
+
|
|
41
|
+
```vue
|
|
42
|
+
<script setup lang="ts">
|
|
43
|
+
import { ref } from 'vue';
|
|
44
|
+
import { Password } from '@ksyun-internal/versatile';
|
|
45
|
+
|
|
46
|
+
const password = ref('');
|
|
47
|
+
const validate = (value: string) => /^(?=.*[A-Z])(?=.*\d).{8,}$/.test(value);
|
|
48
|
+
</script>
|
|
49
|
+
|
|
50
|
+
<template>
|
|
51
|
+
<Password
|
|
52
|
+
v-model="password"
|
|
53
|
+
:validate="validate"
|
|
54
|
+
error-message="至少 8 位,且必须包含大写字母和数字"
|
|
55
|
+
/>
|
|
56
|
+
</template>
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### 数据库密码规则校验
|
|
60
|
+
**场景**: 在数据库创建页中校验更严格的密码复杂度要求。
|
|
61
|
+
|
|
62
|
+
通过自定义规则约束数据库密码长度和复杂度。
|
|
63
|
+
|
|
64
|
+
**使用的 API**: 属性: modelValue, validate, errorMessage | 事件: update:modelValue
|
|
65
|
+
|
|
66
|
+
```vue
|
|
67
|
+
<script setup lang="ts">
|
|
68
|
+
import { ref } from 'vue';
|
|
69
|
+
import { Password } from '@ksyun-internal/versatile';
|
|
70
|
+
|
|
71
|
+
const password = ref('');
|
|
72
|
+
const validate = (value: string) => value.length >= 12 && /[A-Z]/.test(value) && /\d/.test(value);
|
|
73
|
+
</script>
|
|
74
|
+
|
|
75
|
+
<template>
|
|
76
|
+
<Password
|
|
77
|
+
v-model="password"
|
|
78
|
+
:validate="validate"
|
|
79
|
+
error-message="至少 12 位,并包含大写字母和数字"
|
|
80
|
+
/>
|
|
81
|
+
</template>
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## 相关组件
|
|
85
|
+
Input
|
|
86
|
+
|