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,28 +12,39 @@ import { Input, Search } from '@king-design/vue';
|
|
|
12
12
|
```
|
|
13
13
|
|
|
14
14
|
## 属性 (Props)
|
|
15
|
-
| 属性名 | 类型 | 默认值 | 必填 | 说明 | 示例 |
|
|
16
|
-
| --- | --- | --- | --- | --- | --- |
|
|
17
|
-
| type | `string` | `"text"` | 否 | 在原生 input 标签的 type 取值的基础上扩展了 textarea 值,当取该值时渲染成 <textarea> | `<Input type="textarea" :rows="4" placeholder="请输入内容" />` |
|
|
18
|
-
| value | `string` | `undefined` | 否 | 输入框的值,可用 v-model 进行双向绑定 | `<Input v-model="inputValue" />` |
|
|
19
|
-
| defaultValue | `string` | `undefined` | 否 | input 的 defaultValue,首次渲染使用该值 | `<Input defaultValue="初始值" />` |
|
|
20
|
-
| name | `string` | `undefined` | 否 | 原生 input 标签的 name 属性 | `<Input name="username" />` |
|
|
21
|
-
| placeholder | `string` | `undefined` | 否 | 占位文案 | `<Input placeholder="请输入内容" />` |
|
|
22
|
-
| readonly | `boolean` | `false` | 否 | 是否只读 | `<Input v-model="value" readonly />` |
|
|
23
|
-
|
|
|
24
|
-
|
|
|
25
|
-
|
|
|
26
|
-
|
|
|
27
|
-
|
|
|
28
|
-
|
|
|
29
|
-
|
|
|
30
|
-
|
|
|
31
|
-
|
|
|
32
|
-
|
|
|
33
|
-
|
|
|
34
|
-
|
|
|
35
|
-
|
|
|
36
|
-
|
|
|
15
|
+
| 属性名 | 类型 | 默认值 | 必填 | 说明 | 标签 | 示例 |
|
|
16
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
17
|
+
| type | `string` | `"text"` | 否 | 在原生 input 标签的 type 取值的基础上扩展了 textarea 值,当取该值时渲染成 <textarea> | - | `<Input type="textarea" :rows="4" placeholder="请输入内容" />` |
|
|
18
|
+
| value | `string` | `undefined` | 否 | 输入框的值,可用 v-model 进行双向绑定 | - | `<Input v-model="inputValue" />` |
|
|
19
|
+
| defaultValue | `string` | `undefined` | 否 | input 的 defaultValue,首次渲染使用该值 | - | `<Input defaultValue="初始值" />` |
|
|
20
|
+
| name | `string` | `undefined` | 否 | 原生 input 标签的 name 属性 | `native` | `<Input name="username" />` |
|
|
21
|
+
| placeholder | `string` | `undefined` | 否 | 占位文案 | `native` | `<Input placeholder="请输入内容" />` |
|
|
22
|
+
| readonly | `boolean` | `false` | 否 | 是否只读 | `native` | `<Input v-model="value" readonly />` |
|
|
23
|
+
| autocomplete | `string` | `undefined` | 否 | 原生 autocomplete 属性,指定浏览器自动补全行为 | `native` | `<Input autocomplete="username" />` |
|
|
24
|
+
| autofocus | `boolean` | `undefined` | 否 | 原生 autofocus 属性,页面加载后自动聚焦输入框 | `native` | `<Input autofocus />` |
|
|
25
|
+
| form | `string` | `undefined` | 否 | 原生 form 属性,指定输入框关联的表单 id | `native` | `<Input form="searchForm" />` |
|
|
26
|
+
| maxlength | `number | string` | `undefined` | 否 | 原生 maxlength 属性,限制最大输入长度 | `native` | `<Input :maxlength="50" showCount />` |
|
|
27
|
+
| pattern | `string` | `undefined` | 否 | 原生 pattern 属性,指定输入值需要匹配的正则模式 | `native` | `<Input pattern="[0-9]{6}" placeholder="请输入6位数字" />` |
|
|
28
|
+
| required | `boolean` | `undefined` | 否 | 原生 required 属性,标记为必填输入项 | `native` | `<Input required placeholder="必填项" />` |
|
|
29
|
+
| clearable | `boolean` | `false` | 否 | 是否展示快速清除按钮 | - | `<Input v-model="value" clearable />` |
|
|
30
|
+
| disabled | `boolean` | `false` | 否 | 是否禁用 | - | `<Input disabled placeholder="禁用状态" />` |
|
|
31
|
+
| size | `"large" | "default" | "small" | "mini"` | `"default"` | 否 | 组件尺寸 | - | `<Input size="large" placeholder="大尺寸输入框" />` |
|
|
32
|
+
| rows | `number | string` | `2` | 否 | 当 type="textarea" 时,默认展示文本行数 | `native` | `<Input type="textarea" :rows="6" />` |
|
|
33
|
+
| cols | `number` | `undefined` | 否 | 原生 cols 属性,当 type="textarea" 时指定可见宽度 | `native` | `<Input type="textarea" :cols="40" />` |
|
|
34
|
+
| datalist | `string` | `undefined` | 否 | 原生 datalist 属性,关联 datalist 元素 id | `native` | `<Input datalist="city-list" />` |
|
|
35
|
+
| dirname | `string` | `undefined` | 否 | 原生 dirname 属性,提交时附带输入方向信息 | `native` | `<Input dirname="comment.dir" />` |
|
|
36
|
+
| wrap | `"hard" | "soft"` | `undefined` | 否 | 原生 wrap 属性,当 type="textarea" 时指定换行提交方式 | `native` | `<Input type="textarea" wrap="hard" />` |
|
|
37
|
+
| autoWidth | `boolean` | `false` | 否 | 是否宽度随输入的文本的长度变化而变化 | - | `<Input autoWidth placeholder="宽度自适应" />` |
|
|
38
|
+
| fluid | `boolean` | `false` | 否 | 是否宽度 100% | - | `<Input fluid placeholder="宽度100%" />` |
|
|
39
|
+
| width | `string | number` | `undefined` | 否 | 指定宽度,组件会加上单位 px | - | `<Input :width="300" placeholder="宽度300px" />` |
|
|
40
|
+
| stackClearIcon | `boolean` | `false` | 否 | 是否将清空按钮覆盖在 suffix 按钮上展示来节省空间 | - | `<Input clearable stackClearIcon />` |
|
|
41
|
+
| frozenOnInput | `boolean` | `false` | 否 | 是否在输入的过程中冻结 value 更新到视图 | - | `<Input frozenOnInput />` |
|
|
42
|
+
| inline | `boolean` | `false` | 否 | 是否展示内联模式 | - | `<Input inline />` |
|
|
43
|
+
| waveDisabled | `boolean` | `false` | 否 | 是否禁用点击波纹效果 | - | `<Input waveDisabled />` |
|
|
44
|
+
| resize | `"none" | "vertical" | "horizontal" | "both"` | `"vertical"` | 否 | 指定 textarea 输入框拖动调整大小的方向,默认只能垂直方向调整 | - | `<Input type="textarea" resize="both" />` |
|
|
45
|
+
| flat | `boolean` | `false` | 否 | 是否展示扁平样式 | - | `<Input flat placeholder="扁平样式" />` |
|
|
46
|
+
| showCount | `boolean` | `false` | 否 | 是否展示字符长度提示数字 | - | `<Input showCount maxlength="50" />` |
|
|
47
|
+
| showPassword | `boolean` | `false` | 否 | 当 type="password" 时,是否展示显隐密码按钮 | - | `<Input type="password" showPassword />` |
|
|
37
48
|
|
|
38
49
|
## 事件 (Events)
|
|
39
50
|
| 事件名 | Vue事件名 | 说明 | 回调参数 | 示例 |
|
|
@@ -47,22 +58,27 @@ import { Input, Search } from '@king-design/vue';
|
|
|
47
58
|
| mouseenter | `@mouseenter` | 原生 mouseenter 事件,绑定在组件最外层元素上 | `event: MouseEvent` | `<Input @mouseenter="handleMouseenter" />` |
|
|
48
59
|
| mouseleave | `@mouseleave` | 原生 mouseleave 事件,绑定在组件最外层元素上 | `event: MouseEvent` | `<Input @mouseleave="handleMouseleave" />` |
|
|
49
60
|
|
|
50
|
-
###
|
|
51
|
-
**
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
```
|
|
61
|
+
### 事件参数说明
|
|
62
|
+
**change**
|
|
63
|
+
|
|
64
|
+
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|
|
65
|
+
| --- | --- | --- | --- | --- |
|
|
66
|
+
| event | `Event` | 是 | - | 原生 change 事件对象 |
|
|
57
67
|
|
|
58
|
-
|
|
68
|
+
事件处理示例:
|
|
59
69
|
```typescript
|
|
60
70
|
const handleChange = (e: Event) => {
|
|
61
71
|
console.log('值已变化', (e.target as HTMLInputElement).value);
|
|
62
72
|
};
|
|
63
73
|
```
|
|
64
74
|
|
|
65
|
-
**keydown
|
|
75
|
+
**keydown**
|
|
76
|
+
|
|
77
|
+
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|
|
78
|
+
| --- | --- | --- | --- | --- |
|
|
79
|
+
| event | `KeyboardEvent` | 是 | - | 原生键盘事件对象 |
|
|
80
|
+
|
|
81
|
+
事件处理示例:
|
|
66
82
|
```typescript
|
|
67
83
|
const handleKeydown = (e: KeyboardEvent) => {
|
|
68
84
|
if (e.key === 'Enter') {
|
|
@@ -71,35 +87,65 @@ const handleKeydown = (e: KeyboardEvent) => {
|
|
|
71
87
|
};
|
|
72
88
|
```
|
|
73
89
|
|
|
74
|
-
**keyup
|
|
90
|
+
**keyup**
|
|
91
|
+
|
|
92
|
+
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|
|
93
|
+
| --- | --- | --- | --- | --- |
|
|
94
|
+
| event | `KeyboardEvent` | 是 | - | 原生键盘事件对象 |
|
|
95
|
+
|
|
96
|
+
事件处理示例:
|
|
75
97
|
```typescript
|
|
76
98
|
const handleKeyup = (e: KeyboardEvent) => {
|
|
77
99
|
console.log('键盘抬起', e.key);
|
|
78
100
|
};
|
|
79
101
|
```
|
|
80
102
|
|
|
81
|
-
**keypress
|
|
103
|
+
**keypress**
|
|
104
|
+
|
|
105
|
+
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|
|
106
|
+
| --- | --- | --- | --- | --- |
|
|
107
|
+
| event | `KeyboardEvent` | 是 | - | 原生键盘事件对象 |
|
|
108
|
+
|
|
109
|
+
事件处理示例:
|
|
82
110
|
```typescript
|
|
83
111
|
const handleKeypress = (e: KeyboardEvent) => {
|
|
84
112
|
console.log('按键', e.key);
|
|
85
113
|
};
|
|
86
114
|
```
|
|
87
115
|
|
|
88
|
-
**click
|
|
116
|
+
**click**
|
|
117
|
+
|
|
118
|
+
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|
|
119
|
+
| --- | --- | --- | --- | --- |
|
|
120
|
+
| event | `MouseEvent` | 是 | - | 原生鼠标事件对象 |
|
|
121
|
+
|
|
122
|
+
事件处理示例:
|
|
89
123
|
```typescript
|
|
90
124
|
const handleClick = (e: MouseEvent) => {
|
|
91
125
|
console.log('点击输入框');
|
|
92
126
|
};
|
|
93
127
|
```
|
|
94
128
|
|
|
95
|
-
**mouseenter
|
|
129
|
+
**mouseenter**
|
|
130
|
+
|
|
131
|
+
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|
|
132
|
+
| --- | --- | --- | --- | --- |
|
|
133
|
+
| event | `MouseEvent` | 是 | - | 原生鼠标事件对象 |
|
|
134
|
+
|
|
135
|
+
事件处理示例:
|
|
96
136
|
```typescript
|
|
97
137
|
const handleMouseenter = (e: MouseEvent) => {
|
|
98
138
|
console.log('鼠标进入');
|
|
99
139
|
};
|
|
100
140
|
```
|
|
101
141
|
|
|
102
|
-
**mouseleave
|
|
142
|
+
**mouseleave**
|
|
143
|
+
|
|
144
|
+
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|
|
145
|
+
| --- | --- | --- | --- | --- |
|
|
146
|
+
| event | `MouseEvent` | 是 | - | 原生鼠标事件对象 |
|
|
147
|
+
|
|
148
|
+
事件处理示例:
|
|
103
149
|
```typescript
|
|
104
150
|
const handleMouseleave = (e: MouseEvent) => {
|
|
105
151
|
console.log('鼠标离开');
|
|
@@ -125,9 +171,9 @@ const handleMouseleave = (e: MouseEvent) => {
|
|
|
125
171
|
## 方法 (Methods)
|
|
126
172
|
| 方法名 | 说明 | 参数 | 返回值 |
|
|
127
173
|
| --- | --- | --- | --- |
|
|
128
|
-
| focus | 使输入框获得焦点 |
|
|
129
|
-
| blur | 使输入框失去焦点 |
|
|
130
|
-
| select | 全选输入框中的内容 |
|
|
174
|
+
| focus | 使输入框获得焦点 | `-` | `void` |
|
|
175
|
+
| blur | 使输入框失去焦点 | `-` | `void` |
|
|
176
|
+
| select | 全选输入框中的内容 | `-` | `void` |
|
|
131
177
|
|
|
132
178
|
## 子组件 (Sub-Components)
|
|
133
179
|
### Search
|
|
@@ -145,24 +191,29 @@ const handleMouseleave = (e: MouseEvent) => {
|
|
|
145
191
|
- `@submit`: 表单提交事件,按回车或点击搜索按钮时触发
|
|
146
192
|
|
|
147
193
|
## 常见错误与正确用法 (Anti-Hallucination)
|
|
194
|
+
### 设置 rows 但未指定 type="textarea"
|
|
148
195
|
> **错误用法**: `<Input :rows="4" placeholder="多行" />`
|
|
149
196
|
> **正确写法**: `<Input type="textarea" :rows="4" placeholder="多行" />`
|
|
150
197
|
> **说明**: rows 属性只在 type="textarea" 时生效,普通 input 不支持 rows
|
|
151
198
|
|
|
199
|
+
### 使用不存在的 size 值 (Input)
|
|
152
200
|
> **错误用法**: `<Input size="medium" />`
|
|
153
201
|
> **正确写法**: `<Input size="default" />`
|
|
154
202
|
> **说明**: Input 的 size 只支持 large, default, small, mini。常见错误是使用 medium 值。
|
|
155
203
|
|
|
204
|
+
### 在非 textarea 上使用 resize 属性
|
|
156
205
|
> **错误用法**: `<Input resize="both" />`
|
|
157
206
|
> **正确写法**: `<Input type="textarea" resize="both" />`
|
|
158
207
|
> **说明**: resize 属性只对 type="textarea" 生效
|
|
159
208
|
|
|
209
|
+
### 错误地导入或使用不存在的 Textarea 组件
|
|
160
210
|
> **错误用法**: `import { Textarea } from '@king-design/vue';
|
|
161
211
|
<Textarea v-model="desc" />`
|
|
162
212
|
> **正确写法**: `import { Input } from '@king-design/vue';
|
|
163
213
|
<Input type="textarea" v-model="desc" />`
|
|
164
214
|
> **说明**: KPC 组件库没有单独的 Textarea 组件,多行输入统一使用 Input 组件并设置 type="textarea"。
|
|
165
215
|
|
|
216
|
+
### 使用 Element UI 的 show-word-limit 属性
|
|
166
217
|
> **错误用法**: `<Input show-word-limit />`
|
|
167
218
|
> **正确写法**: `<Input showCount />`
|
|
168
219
|
> **说明**: KPC 中展示字数计数的属性是 showCount,不是 show-word-limit。
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
# 实例列表选择 (InstanceList)
|
|
2
|
+
|
|
3
|
+
用于从实例候选列表中选择目标实例的表单组件,可同步返回实例值和实例实体,适合迁移、备份、挂载等场景。
|
|
4
|
+
|
|
5
|
+
**关键词**: instance list, instance selector, 实例选择, 目标实例, 资源实例下拉
|
|
6
|
+
|
|
7
|
+
**使用场景**: 从候选实例中选择目标实例、迁移或挂载时选择实例、选择后联动实例实体信息
|
|
8
|
+
|
|
9
|
+
## 导入语句
|
|
10
|
+
```typescript
|
|
11
|
+
import { InstanceList } from '@ksyun-internal/versatile';
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## 属性 (Props)
|
|
15
|
+
| 属性名 | 类型 | 默认值 | 必填 | 说明 | 标签 | 示例 |
|
|
16
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
17
|
+
| modelValue | `string` | `undefined` | 否 | 当前选中的实例 ID | - | - |
|
|
18
|
+
| list | `Record<string, any>[]` | `undefined` | 否 | 可选实例列表 | - | - |
|
|
19
|
+
| listKeyName | `string` | `"key"` | 否 | 列表项中作为 value 的字段名 | - | - |
|
|
20
|
+
| listLabelName | `string` | `"label"` | 否 | 列表项中作为 label 的字段名 | - | - |
|
|
21
|
+
| fluid | `boolean` | `undefined` | 否 | 是否启用流式宽度 | - | - |
|
|
22
|
+
| existedList | `string[]` | `undefined` | 否 | 已存在实例列表,用于唯一性校验 | - | - |
|
|
23
|
+
| checkInstanceUniqueTip | `string` | `"实例不可重复"` | 否 | 实例重复时的提示文案 | - | - |
|
|
24
|
+
| container | `string` | `undefined` | 否 | 下拉面板挂载容器 | - | - |
|
|
25
|
+
| width | `string | number` | `undefined` | 否 | 控件宽度 | - | - |
|
|
26
|
+
|
|
27
|
+
## 事件 (Events)
|
|
28
|
+
| 事件名 | Vue事件名 | 说明 | 回调参数 | 示例 |
|
|
29
|
+
| --- | --- | --- | --- | --- |
|
|
30
|
+
| update:modelValue | `@update:modelValue` | 选中的实例标识变化时触发,通常用于同步实例 ID 或名称。 | `value?: string` | - |
|
|
31
|
+
| update:instance | `@update:instance` | 当前选中的完整实例对象变化时触发,便于读取规格、状态等附加字段。 | `value?: InstanceOption` | - |
|
|
32
|
+
|
|
33
|
+
### 事件参数说明
|
|
34
|
+
**update:modelValue**
|
|
35
|
+
|
|
36
|
+
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|
|
37
|
+
| --- | --- | --- | --- | --- |
|
|
38
|
+
| value | `string` | 否 | - | 当前选中的实例标识。 |
|
|
39
|
+
|
|
40
|
+
**update:instance**
|
|
41
|
+
|
|
42
|
+
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|
|
43
|
+
| --- | --- | --- | --- | --- |
|
|
44
|
+
| value | `InstanceOption` | 否 | - | 当前选中的完整实例对象。 |
|
|
45
|
+
|
|
46
|
+
## 使用示例
|
|
47
|
+
### 选择目标实例
|
|
48
|
+
**场景**: 在克隆、挂载或迁移流程中选择目标实例。
|
|
49
|
+
|
|
50
|
+
从候选实例列表中选取一个实例并同步实例实体。
|
|
51
|
+
|
|
52
|
+
**使用的 API**: 属性: modelValue, list, listKeyName, listLabelName | 事件: update:modelValue, update:instance
|
|
53
|
+
|
|
54
|
+
```vue
|
|
55
|
+
<script setup lang="ts">
|
|
56
|
+
import { ref } from 'vue';
|
|
57
|
+
import { InstanceList } from '@ksyun-internal/versatile';
|
|
58
|
+
|
|
59
|
+
const selected = ref('i-001');
|
|
60
|
+
const list = [
|
|
61
|
+
{ id: 'i-001', name: 'web-prod-01' },
|
|
62
|
+
{ id: 'i-002', name: 'web-prod-02' },
|
|
63
|
+
];
|
|
64
|
+
</script>
|
|
65
|
+
|
|
66
|
+
<template>
|
|
67
|
+
<InstanceList
|
|
68
|
+
v-model="selected"
|
|
69
|
+
:list="list"
|
|
70
|
+
list-key-name="id"
|
|
71
|
+
list-label-name="name"
|
|
72
|
+
/>
|
|
73
|
+
</template>
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### 联动实例实体信息
|
|
77
|
+
**场景**: 在选择实例后同步展示其可用区、规格等附加信息。
|
|
78
|
+
|
|
79
|
+
监听 update:instance 获取当前实例的完整信息。
|
|
80
|
+
|
|
81
|
+
**使用的 API**: 属性: modelValue, list, listKeyName, listLabelName | 事件: update:instance
|
|
82
|
+
|
|
83
|
+
```vue
|
|
84
|
+
<script setup lang="ts">
|
|
85
|
+
import { ref } from 'vue';
|
|
86
|
+
import { InstanceList } from '@ksyun-internal/versatile';
|
|
87
|
+
|
|
88
|
+
const selected = ref('i-001');
|
|
89
|
+
const currentZone = ref('');
|
|
90
|
+
const list = [
|
|
91
|
+
{ id: 'i-001', name: 'web-prod-01', zone: 'cn-beijing-6a' },
|
|
92
|
+
{ id: 'i-002', name: 'web-prod-02', zone: 'cn-beijing-6b' },
|
|
93
|
+
];
|
|
94
|
+
const handleInstance = (instance: { zone?: string }) => {
|
|
95
|
+
currentZone.value = instance?.zone || '';
|
|
96
|
+
};
|
|
97
|
+
</script>
|
|
98
|
+
|
|
99
|
+
<template>
|
|
100
|
+
<InstanceList
|
|
101
|
+
v-model="selected"
|
|
102
|
+
:list="list"
|
|
103
|
+
list-key-name="id"
|
|
104
|
+
list-label-name="name"
|
|
105
|
+
@update:instance="handleInstance"
|
|
106
|
+
/>
|
|
107
|
+
<div>所在可用区:{{ currentZone }}</div>
|
|
108
|
+
</template>
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
## 相关组件
|
|
112
|
+
FormItemTableConfigs, Select
|
|
113
|
+
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# 实例数量 (InstanceNum)
|
|
2
|
+
|
|
3
|
+
围绕实例数量录入封装的业务组件,补充了范围控制、禁用提示和补丁数联动,适合节点数量、实例副本数等场景。
|
|
4
|
+
|
|
5
|
+
**关键词**: instance num, instance count, 实例数量, 节点数量, 副本数输入
|
|
6
|
+
|
|
7
|
+
**使用场景**: 启停开关、集群节点数量配置、受限规格下展示禁用原因
|
|
8
|
+
|
|
9
|
+
## 导入语句
|
|
10
|
+
```typescript
|
|
11
|
+
import { InstanceNum } from '@ksyun-internal/versatile';
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## 属性 (Props)
|
|
15
|
+
| 属性名 | 类型 | 默认值 | 必填 | 说明 | 标签 | 示例 |
|
|
16
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
17
|
+
| modelValue | `number` | `undefined` | 否 | 实例数量 | - | - |
|
|
18
|
+
| label | `string` | `undefined` | 否 | 表单项标题 | - | - |
|
|
19
|
+
| max | `number | null` | `undefined` | 否 | 允许的最大数量 | - | - |
|
|
20
|
+
| min | `number | null` | `undefined` | 否 | 允许的最小数量 | - | - |
|
|
21
|
+
| required | `boolean` | `undefined` | 否 | 是否必填 | - | - |
|
|
22
|
+
| rules | `Record<string, any>` | `{}` | 否 | 表单校验规则 | - | - |
|
|
23
|
+
| width | `string | number` | `undefined` | 否 | 输入控件宽度 | - | - |
|
|
24
|
+
| disabled | `boolean` | `undefined` | 否 | 是否禁用输入 | - | - |
|
|
25
|
+
| disabledTooltip | `boolean` | `undefined` | 否 | 禁用时是否显示 tooltip | - | - |
|
|
26
|
+
| tooltipContent | `string` | `undefined` | 否 | 禁用提示内容 | - | - |
|
|
27
|
+
| patchcount | `number` | `undefined` | 否 | 补丁数量或步进修正值 | - | - |
|
|
28
|
+
|
|
29
|
+
## 事件 (Events)
|
|
30
|
+
| 事件名 | Vue事件名 | 说明 | 回调参数 | 示例 |
|
|
31
|
+
| --- | --- | --- | --- | --- |
|
|
32
|
+
| update:modelValue | `@update:modelValue` | 实例数量变化时触发,可用于联动库存、价格和配额校验。 | `value?: number` | - |
|
|
33
|
+
|
|
34
|
+
### 事件参数说明
|
|
35
|
+
**update:modelValue**
|
|
36
|
+
|
|
37
|
+
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|
|
38
|
+
| --- | --- | --- | --- | --- |
|
|
39
|
+
| value | `number` | 否 | - | 当前实例数量或副本数。 |
|
|
40
|
+
|
|
41
|
+
## 使用示例
|
|
42
|
+
### 集群节点数量选择
|
|
43
|
+
**场景**: 在集群或弹性扩缩容场景中控制实例数量。
|
|
44
|
+
|
|
45
|
+
限制节点数量范围,并在禁用时给出原因说明。
|
|
46
|
+
|
|
47
|
+
**使用的 API**: 属性: modelValue, label, min, max, tooltipContent | 事件: update:modelValue
|
|
48
|
+
|
|
49
|
+
```vue
|
|
50
|
+
<script setup lang="ts">
|
|
51
|
+
import { ref } from 'vue';
|
|
52
|
+
import { InstanceNum } from '@ksyun-internal/versatile';
|
|
53
|
+
|
|
54
|
+
const count = ref(3);
|
|
55
|
+
</script>
|
|
56
|
+
|
|
57
|
+
<template>
|
|
58
|
+
<InstanceNum
|
|
59
|
+
v-model="count"
|
|
60
|
+
label="节点数量"
|
|
61
|
+
:min="1"
|
|
62
|
+
:max="10"
|
|
63
|
+
tooltip-content="超出规格上限时需要升级套餐"
|
|
64
|
+
/>
|
|
65
|
+
</template>
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### 禁用状态下展示原因
|
|
69
|
+
**场景**: 在受限套餐下明确告知用户为什么不能修改数量。
|
|
70
|
+
|
|
71
|
+
当规格不满足条件时暂时禁用数量调整,并给出解释。
|
|
72
|
+
|
|
73
|
+
**使用的 API**: 属性: modelValue, label, disabled, disabledTooltip
|
|
74
|
+
|
|
75
|
+
```vue
|
|
76
|
+
<script setup lang="ts">
|
|
77
|
+
import { ref } from 'vue';
|
|
78
|
+
import { InstanceNum } from '@ksyun-internal/versatile';
|
|
79
|
+
|
|
80
|
+
const count = ref(1);
|
|
81
|
+
</script>
|
|
82
|
+
|
|
83
|
+
<template>
|
|
84
|
+
<InstanceNum
|
|
85
|
+
v-model="count"
|
|
86
|
+
label="实例数量"
|
|
87
|
+
:disabled="true"
|
|
88
|
+
disabled-tooltip="当前套餐仅支持单实例部署"
|
|
89
|
+
/>
|
|
90
|
+
</template>
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## 相关组件
|
|
94
|
+
FormItemSpinner, FormItemTableConfigs
|
|
95
|
+
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# IP 输入框 (IPInput)
|
|
2
|
+
|
|
3
|
+
面向 IPv4 地址录入的分段输入组件,适合网卡、白名单、后端服务地址等需要明确格式校验的网络场景。
|
|
4
|
+
|
|
5
|
+
**关键词**: ip input, ipv4 input, IP 输入, ip 地址录入, 网络地址输入
|
|
6
|
+
|
|
7
|
+
**使用场景**: IPv4 地址录入、网络配置表单、分段 IP 输入提示
|
|
8
|
+
|
|
9
|
+
## 导入语句
|
|
10
|
+
```typescript
|
|
11
|
+
import { IPInput } from '@ksyun-internal/versatile';
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## 属性 (Props)
|
|
15
|
+
| 属性名 | 类型 | 默认值 | 必填 | 说明 | 标签 | 示例 |
|
|
16
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
17
|
+
| modelValue | `string` | `undefined` | 否 | IP 地址值 | - | - |
|
|
18
|
+
| disabled | `boolean | any[]` | `undefined` | 否 | 禁用状态或分段禁用配置 | - | - |
|
|
19
|
+
| tooltip | `any[]` | `undefined` | 否 | 分段 tooltip 配置 | - | - |
|
|
20
|
+
|
|
21
|
+
## 事件 (Events)
|
|
22
|
+
| 事件名 | Vue事件名 | 说明 | 回调参数 | 示例 |
|
|
23
|
+
| --- | --- | --- | --- | --- |
|
|
24
|
+
| update:modelValue | `@update:modelValue` | 完整 IP 地址变化时触发,可直接同步网络配置表单。 | `value?: string` | - |
|
|
25
|
+
|
|
26
|
+
### 事件参数说明
|
|
27
|
+
**update:modelValue**
|
|
28
|
+
|
|
29
|
+
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|
|
30
|
+
| --- | --- | --- | --- | --- |
|
|
31
|
+
| value | `string` | 否 | - | 当前输入的 IPv4 地址字符串。 |
|
|
32
|
+
|
|
33
|
+
## 使用示例
|
|
34
|
+
### 后端服务 IP 地址录入
|
|
35
|
+
**场景**: 在网络或服务发现配置中录入单个 IPv4 地址。
|
|
36
|
+
|
|
37
|
+
用分段输入方式降低手写 IP 地址的出错概率。
|
|
38
|
+
|
|
39
|
+
**使用的 API**: 属性: modelValue | 事件: update:modelValue
|
|
40
|
+
|
|
41
|
+
```vue
|
|
42
|
+
<script setup lang="ts">
|
|
43
|
+
import { ref } from 'vue';
|
|
44
|
+
import { IPInput } from '@ksyun-internal/versatile';
|
|
45
|
+
|
|
46
|
+
const ip = ref('10.0.0.12');
|
|
47
|
+
</script>
|
|
48
|
+
|
|
49
|
+
<template>
|
|
50
|
+
<IPInput v-model="ip" />
|
|
51
|
+
</template>
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### 为 IP 分段添加提示
|
|
55
|
+
**场景**: 在网络配置页中为 IP 输入提供更明确的填写提示。
|
|
56
|
+
|
|
57
|
+
给分段输入框补充提示信息,帮助用户理解每段含义。
|
|
58
|
+
|
|
59
|
+
**使用的 API**: 属性: modelValue, tooltip | 事件: update:modelValue
|
|
60
|
+
|
|
61
|
+
```vue
|
|
62
|
+
<script setup lang="ts">
|
|
63
|
+
import { ref } from 'vue';
|
|
64
|
+
import { IPInput } from '@ksyun-internal/versatile';
|
|
65
|
+
|
|
66
|
+
const ip = ref('172.16.0.10');
|
|
67
|
+
const tooltip = ['第一段', '第二段', '第三段', '第四段'];
|
|
68
|
+
</script>
|
|
69
|
+
|
|
70
|
+
<template>
|
|
71
|
+
<IPInput v-model="ip" :tooltip="tooltip" />
|
|
72
|
+
</template>
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## 相关组件
|
|
76
|
+
CidrInput
|
|
77
|
+
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# 业务状态标识 (KspStatus)
|
|
2
|
+
|
|
3
|
+
根据业务状态值自动映射文案、颜色和加载态的状态展示组件,适合实例生命周期、任务状态和工单状态等复杂业务场景。
|
|
4
|
+
|
|
5
|
+
**关键词**: ksp status, business status, 业务状态, 状态码映射, progress status, 任务状态
|
|
6
|
+
|
|
7
|
+
**使用场景**: 资源状态展示、任务进度与异常态展示、带进度的迁移或备份状态
|
|
8
|
+
|
|
9
|
+
## 导入语句
|
|
10
|
+
```typescript
|
|
11
|
+
import { KspStatus } from '@ksyun-internal/versatile';
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## 属性 (Props)
|
|
15
|
+
| 属性名 | 类型 | 默认值 | 必填 | 说明 | 标签 | 示例 |
|
|
16
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
17
|
+
| status | `string | number` | `undefined` | 否 | 业务状态值,可为字符串或数字 | - | - |
|
|
18
|
+
| progress | `number` | `undefined` | 否 | 进度值,用于进度型状态展示 | - | - |
|
|
19
|
+
| success | `any[]` | `undefined` | 否 | 会被视为成功态的状态值集合 | - | - |
|
|
20
|
+
| danger | `any[]` | `undefined` | 否 | 会被视为失败态的状态值集合 | - | - |
|
|
21
|
+
| disabled | `any[]` | `undefined` | 否 | 会被视为禁用态的状态值集合 | - | - |
|
|
22
|
+
| warning | `any[]` | `undefined` | 否 | 会被视为警告态的状态值集合 | - | - |
|
|
23
|
+
| loading | `any[]` | `undefined` | 否 | 会被视为加载态的状态值集合 | - | - |
|
|
24
|
+
| progressbar | `any[]` | `undefined` | 否 | 会被视为进度条态的状态值集合 | - | - |
|
|
25
|
+
| maps | `Record<string, any>` | `undefined` | 否 | 自定义状态映射表 | - | - |
|
|
26
|
+
| tip | `string` | `undefined` | 否 | 状态说明 tooltip 文案 | - | - |
|
|
27
|
+
| position | `any` | `undefined` | 否 | tooltip 或刷新按钮的弹出位置 | - | - |
|
|
28
|
+
| refreshTip | `string` | `undefined` | 否 | 刷新按钮提示文案 | - | - |
|
|
29
|
+
| refresh | `() => Promise<void>` | `undefined` | 否 | 点击刷新时执行的异步函数 | - | - |
|
|
30
|
+
| text | `string` | `undefined` | 否 | 自定义展示文案,优先级高于状态映射 | - | - |
|
|
31
|
+
|
|
32
|
+
## 使用示例
|
|
33
|
+
### 实例生命周期状态展示
|
|
34
|
+
**场景**: 在列表或详情页中按统一规则展示业务状态。
|
|
35
|
+
|
|
36
|
+
通过 maps 配置把业务状态码映射成统一的状态展示。
|
|
37
|
+
|
|
38
|
+
**使用的 API**: 属性: status, maps, refreshTip
|
|
39
|
+
|
|
40
|
+
```vue
|
|
41
|
+
<script setup lang="ts">
|
|
42
|
+
import { KspStatus } from '@ksyun-internal/versatile';
|
|
43
|
+
|
|
44
|
+
const maps = {
|
|
45
|
+
creating: { text: '创建中', loading: true },
|
|
46
|
+
running: { text: '运行中', success: true },
|
|
47
|
+
stopped: { text: '已停止', disabled: true },
|
|
48
|
+
};
|
|
49
|
+
</script>
|
|
50
|
+
|
|
51
|
+
<template>
|
|
52
|
+
<KspStatus status="creating" :maps="maps" refresh-tip="状态每 10 秒刷新一次" />
|
|
53
|
+
</template>
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### 展示带进度的业务状态
|
|
57
|
+
**场景**: 在迁移、备份等长任务场景中展示进度化状态。
|
|
58
|
+
|
|
59
|
+
通过 progress 和 refresh 提示渲染任务执行中的状态。
|
|
60
|
+
|
|
61
|
+
**使用的 API**: 属性: status, text, progress, refresh, refreshTip, tip
|
|
62
|
+
|
|
63
|
+
```vue
|
|
64
|
+
<script setup lang="ts">
|
|
65
|
+
import { KspStatus } from '@ksyun-internal/versatile';
|
|
66
|
+
</script>
|
|
67
|
+
|
|
68
|
+
<template>
|
|
69
|
+
<KspStatus
|
|
70
|
+
status="migrating"
|
|
71
|
+
text="迁移中"
|
|
72
|
+
:progress="68"
|
|
73
|
+
:refresh="true"
|
|
74
|
+
refresh-tip="状态会自动刷新"
|
|
75
|
+
tip="预计 2 分钟后完成"
|
|
76
|
+
/>
|
|
77
|
+
</template>
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## 相关组件
|
|
81
|
+
Status
|
|
82
|
+
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# 键值代码输入 (KvCode)
|
|
2
|
+
|
|
3
|
+
用于录入脚本、配置片段或键值代码内容的表单组件,适合高级参数、启动脚本和策略文本等输入场景。
|
|
4
|
+
|
|
5
|
+
**关键词**: kv code, code input, 代码输入, 脚本录入, 策略文本
|
|
6
|
+
|
|
7
|
+
**使用场景**: 脚本配置输入、高级参数录入、JSON 策略文本填写
|
|
8
|
+
|
|
9
|
+
## 导入语句
|
|
10
|
+
```typescript
|
|
11
|
+
import { KvCode } from '@ksyun-internal/versatile';
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## 属性 (Props)
|
|
15
|
+
| 属性名 | 类型 | 默认值 | 必填 | 说明 | 标签 | 示例 |
|
|
16
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
17
|
+
| label | `string` | `undefined` | 否 | 表单项标题 | - | - |
|
|
18
|
+
| modelValue | `string` | `undefined` | 否 | 代码内容 | - | - |
|
|
19
|
+
| required | `boolean` | `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
|
+
在创建任务或实例时录入一段配置脚本。
|
|
38
|
+
|
|
39
|
+
**使用的 API**: 属性: modelValue, label, required | 事件: update:modelValue
|
|
40
|
+
|
|
41
|
+
```vue
|
|
42
|
+
<script setup lang="ts">
|
|
43
|
+
import { ref } from 'vue';
|
|
44
|
+
import { KvCode } from '@ksyun-internal/versatile';
|
|
45
|
+
|
|
46
|
+
const script = ref('export NODE_ENV=production');
|
|
47
|
+
</script>
|
|
48
|
+
|
|
49
|
+
<template>
|
|
50
|
+
<KvCode v-model="script" label="启动脚本" :required="true" />
|
|
51
|
+
</template>
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### 录入策略 JSON 文本
|
|
55
|
+
**场景**: 在策略配置页中录入 JSON 结构化文本。
|
|
56
|
+
|
|
57
|
+
在权限或策略场景中填写结构化文本配置。
|
|
58
|
+
|
|
59
|
+
**使用的 API**: 属性: modelValue, label | 事件: update:modelValue
|
|
60
|
+
|
|
61
|
+
```vue
|
|
62
|
+
<script setup lang="ts">
|
|
63
|
+
import { ref } from 'vue';
|
|
64
|
+
import { KvCode } from '@ksyun-internal/versatile';
|
|
65
|
+
|
|
66
|
+
const policy = ref('{"Version":"1.0","Statement":[]}');
|
|
67
|
+
</script>
|
|
68
|
+
|
|
69
|
+
<template>
|
|
70
|
+
<KvCode v-model="policy" label="访问策略" />
|
|
71
|
+
</template>
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## 相关组件
|
|
75
|
+
Code, FormItemInput
|
|
76
|
+
|