@a2simcode/ui 0.0.71 → 0.0.73

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (322) hide show
  1. package/.cursor/skills/ui-component-helper/README.md +43 -43
  2. package/.cursor/skills/ui-component-helper/SKILL.md +81 -81
  3. package/LICENSE +53 -53
  4. package/README.md +156 -156
  5. package/dist/components/button/index.d.ts +10 -190
  6. package/dist/components/button/src/button.vue.d.ts +39 -226
  7. package/dist/components/buttons/index.d.ts +7 -6
  8. package/dist/components/buttons/src/interface.d.ts +13 -10
  9. package/dist/components/index.d.ts +2 -1
  10. package/dist/simcode-ui.es.js +388 -470
  11. package/dist/simcode-ui.umd.js +2 -2
  12. package/dist/stats.html +1 -1
  13. package/dist/ui.css +1 -1
  14. package/docs/components/autocomplete.md +89 -89
  15. package/docs/components/barcode.md +101 -101
  16. package/docs/components/button-select.md +24 -24
  17. package/docs/components/button.md +117 -117
  18. package/docs/components/buttons.md +119 -119
  19. package/docs/components/cascader-select.md +114 -114
  20. package/docs/components/checkbox.md +114 -114
  21. package/docs/components/code-mirror.md +85 -85
  22. package/docs/components/collapse.md +26 -26
  23. package/docs/components/comp.md +71 -71
  24. package/docs/components/count-up.md +24 -24
  25. package/docs/components/count.md +24 -24
  26. package/docs/components/data-panel.md +24 -24
  27. package/docs/components/date.md +76 -76
  28. package/docs/components/dialog-full.md +112 -112
  29. package/docs/components/dialog.md +127 -127
  30. package/docs/components/divider.md +24 -24
  31. package/docs/components/drawer.md +127 -127
  32. package/docs/components/dynamic-layer.md +118 -118
  33. package/docs/components/echarts.md +72 -72
  34. package/docs/components/editor.md +24 -24
  35. package/docs/components/form.md +27 -27
  36. package/docs/components/guid.md +39 -39
  37. package/docs/components/hpanel.md +24 -24
  38. package/docs/components/icon.md +56 -56
  39. package/docs/components/input-button.md +24 -24
  40. package/docs/components/input-code.md +24 -24
  41. package/docs/components/input-color.md +114 -114
  42. package/docs/components/input-layer.md +26 -26
  43. package/docs/components/input-rows.md +370 -370
  44. package/docs/components/input-tag.md +50 -50
  45. package/docs/components/input.md +129 -129
  46. package/docs/components/layer-form.md +61 -61
  47. package/docs/components/layer.md +127 -127
  48. package/docs/components/layout.md +132 -132
  49. package/docs/components/map.md +24 -24
  50. package/docs/components/menu.md +121 -121
  51. package/docs/components/meta/buttons.ts +61 -56
  52. package/docs/components/meta/date.ts +256 -275
  53. package/docs/components/meta/echarts.ts +64 -64
  54. package/docs/components/meta/form.ts +160 -160
  55. package/docs/components/meta/input-cards.ts +112 -112
  56. package/docs/components/meta/input-color.ts +243 -243
  57. package/docs/components/meta/input-rows.ts +113 -113
  58. package/docs/components/meta/layer-form.ts +56 -56
  59. package/docs/components/meta/map.ts +68 -68
  60. package/docs/components/meta/panel.ts +152 -152
  61. package/docs/components/meta/slider.ts +270 -270
  62. package/docs/components/meta/table.ts +363 -363
  63. package/docs/components/meta/tabs.ts +136 -136
  64. package/docs/components/meta/tree-select.ts +199 -199
  65. package/docs/components/meta/workflow-viewer.ts +55 -55
  66. package/docs/components/meta/workflow.ts +113 -113
  67. package/docs/components/number.md +124 -124
  68. package/docs/components/page.md +57 -57
  69. package/docs/components/panel.md +37 -37
  70. package/docs/components/radio.md +87 -87
  71. package/docs/components/rate.md +71 -71
  72. package/docs/components/select.md +133 -133
  73. package/docs/components/slider-captcha.md +41 -41
  74. package/docs/components/slider.md +101 -101
  75. package/docs/components/switch.md +90 -90
  76. package/docs/components/table-panel.md +218 -218
  77. package/docs/components/table.md +319 -319
  78. package/docs/components/tabs.md +26 -26
  79. package/docs/components/title.md +24 -24
  80. package/docs/components/tree.md +207 -207
  81. package/docs/components/upload.md +117 -117
  82. package/docs/components/workflow-viewer.md +21 -21
  83. package/docs/components/workflow.md +21 -21
  84. package/docs/examples/autocomplete/advanced.vue +35 -35
  85. package/docs/examples/autocomplete/basic.vue +32 -32
  86. package/docs/examples/autocomplete/clearable.vue +33 -33
  87. package/docs/examples/autocomplete/custom-template.vue +49 -49
  88. package/docs/examples/autocomplete/disabled.vue +33 -33
  89. package/docs/examples/autocomplete/icon.vue +37 -37
  90. package/docs/examples/barcode/all-types.vue +380 -380
  91. package/docs/examples/barcode/basic.vue +14 -14
  92. package/docs/examples/barcode/props-appearance.vue +243 -243
  93. package/docs/examples/barcode/props-geometry.vue +143 -143
  94. package/docs/examples/barcode/props-logic.vue +216 -216
  95. package/docs/examples/barcode/props-symbology.vue +199 -199
  96. package/docs/examples/barcode/props-text.vue +268 -268
  97. package/docs/examples/button/basic.vue +7 -7
  98. package/docs/examples/button/danger-ghost.vue +17 -17
  99. package/docs/examples/button/disabled.vue +10 -10
  100. package/docs/examples/button/loading.vue +6 -6
  101. package/docs/examples/button/shape.vue +7 -7
  102. package/docs/examples/button/size.vue +14 -14
  103. package/docs/examples/button/type.vue +9 -9
  104. package/docs/examples/button-select/basic.vue +19 -19
  105. package/docs/examples/buttons/basic.vue +45 -45
  106. package/docs/examples/buttons/disabled.vue +36 -36
  107. package/docs/examples/buttons/dropdown.vue +63 -63
  108. package/docs/examples/buttons/group.vue +52 -52
  109. package/docs/examples/buttons/link.vue +47 -47
  110. package/docs/examples/buttons/popup.vue +39 -39
  111. package/docs/examples/buttons/size.vue +45 -45
  112. package/docs/examples/cascader-select/basic.vue +28 -28
  113. package/docs/examples/cascader-select/clearable.vue +34 -34
  114. package/docs/examples/cascader-select/disabled.vue +43 -43
  115. package/docs/examples/cascader-select/filterable.vue +37 -37
  116. package/docs/examples/cascader-select/methods.vue +84 -84
  117. package/docs/examples/cascader-select/multiple.vue +38 -38
  118. package/docs/examples/cascader-select/slot.vue +45 -45
  119. package/docs/examples/checkbox/basic.vue +18 -18
  120. package/docs/examples/checkbox/button.vue +19 -19
  121. package/docs/examples/checkbox/color.vue +25 -25
  122. package/docs/examples/checkbox/disabled.vue +17 -17
  123. package/docs/examples/checkbox/min-max.vue +20 -20
  124. package/docs/examples/checkbox/mixed.vue +56 -56
  125. package/docs/examples/checkbox/size.vue +28 -28
  126. package/docs/examples/code-mirror/basic.vue +11 -11
  127. package/docs/examples/code-mirror/events.vue +42 -42
  128. package/docs/examples/code-mirror/height.vue +25 -25
  129. package/docs/examples/code-mirror/mode.vue +33 -33
  130. package/docs/examples/code-mirror/readonly.vue +14 -14
  131. package/docs/examples/collapse/basic.vue +82 -82
  132. package/docs/examples/comp/basic.vue +7 -7
  133. package/docs/examples/comp/collapse.vue +38 -38
  134. package/docs/examples/comp/tabs.vue +38 -38
  135. package/docs/examples/count/basic.vue +54 -54
  136. package/docs/examples/count-up/basic.vue +89 -89
  137. package/docs/examples/data-panel/basic.vue +110 -110
  138. package/docs/examples/date/basic.vue +73 -73
  139. package/docs/examples/date/default-value.vue +59 -59
  140. package/docs/examples/date/format.vue +75 -75
  141. package/docs/examples/date/range.vue +66 -66
  142. package/docs/examples/date/types.vue +79 -79
  143. package/docs/examples/dialog/basic.vue +36 -36
  144. package/docs/examples/dialog/custom-buttons.vue +44 -44
  145. package/docs/examples/dialog/fullscreen.vue +23 -23
  146. package/docs/examples/dialog/no-mask.vue +17 -17
  147. package/docs/examples/dialog/size.vue +44 -44
  148. package/docs/examples/dialog/steps.vue +57 -57
  149. package/docs/examples/dialog-full/basic.vue +29 -29
  150. package/docs/examples/dialog-full/custom-buttons.vue +45 -45
  151. package/docs/examples/dialog-full/no-buttons.vue +18 -18
  152. package/docs/examples/dialog-full/no-header.vue +27 -27
  153. package/docs/examples/dialog-full/steps.vue +71 -71
  154. package/docs/examples/divider/basic.vue +52 -52
  155. package/docs/examples/drawer/basic.vue +35 -35
  156. package/docs/examples/drawer/custom-buttons.vue +34 -34
  157. package/docs/examples/drawer/direction.vue +47 -47
  158. package/docs/examples/drawer/mask.vue +36 -36
  159. package/docs/examples/drawer/no-buttons.vue +20 -20
  160. package/docs/examples/drawer/size.vue +28 -28
  161. package/docs/examples/dynamic-layer/basic.vue +33 -33
  162. package/docs/examples/dynamic-layer/custom-buttons.vue +43 -43
  163. package/docs/examples/dynamic-layer/form.vue +73 -73
  164. package/docs/examples/dynamic-layer/steps.vue +52 -52
  165. package/docs/examples/dynamic-layer/types.vue +40 -40
  166. package/docs/examples/echarts/basic.vue +31 -31
  167. package/docs/examples/echarts/dynamic.vue +43 -43
  168. package/docs/examples/echarts/line.vue +46 -46
  169. package/docs/examples/echarts/pie.vue +44 -44
  170. package/docs/examples/editor/basic.vue +15 -15
  171. package/docs/examples/form/basic.vue +450 -450
  172. package/docs/examples/guid/basic.vue +10 -10
  173. package/docs/examples/guid/size.vue +13 -13
  174. package/docs/examples/hpanel/basic.vue +79 -79
  175. package/docs/examples/icon/basic.vue +9 -9
  176. package/docs/examples/icon/rotate-flip.vue +9 -9
  177. package/docs/examples/icon/size.vue +7 -7
  178. package/docs/examples/input/basic.vue +10 -10
  179. package/docs/examples/input/clearable.vue +12 -12
  180. package/docs/examples/input/disabled.vue +6 -6
  181. package/docs/examples/input/icon.vue +23 -23
  182. package/docs/examples/input/password.vue +18 -18
  183. package/docs/examples/input/size.vue +13 -13
  184. package/docs/examples/input/textarea.vue +25 -25
  185. package/docs/examples/input/word-limit.vue +28 -28
  186. package/docs/examples/input-button/basic.vue +33 -33
  187. package/docs/examples/input-code/basic.vue +29 -29
  188. package/docs/examples/input-color/basic.vue +10 -10
  189. package/docs/examples/input-color/disabled.vue +13 -13
  190. package/docs/examples/input-color/format.vue +17 -17
  191. package/docs/examples/input-color/no-alpha.vue +13 -13
  192. package/docs/examples/input-color/only-button.vue +15 -15
  193. package/docs/examples/input-color/predefine.vue +31 -31
  194. package/docs/examples/input-color/size.vue +15 -15
  195. package/docs/examples/input-layer/basic.vue +69 -69
  196. package/docs/examples/input-rows/basic.vue +73 -73
  197. package/docs/examples/input-rows/drag.vue +48 -48
  198. package/docs/examples/input-rows/layer-form.vue +85 -85
  199. package/docs/examples/input-rows/nested.vue +91 -91
  200. package/docs/examples/input-tag/basic.vue +27 -27
  201. package/docs/examples/input-tag/colors.vue +23 -23
  202. package/docs/examples/input-tag/readonly.vue +17 -17
  203. package/docs/examples/layer/basic.vue +43 -43
  204. package/docs/examples/layer/custom-buttons.vue +61 -61
  205. package/docs/examples/layer/drawer.vue +37 -37
  206. package/docs/examples/layer/full.vue +38 -38
  207. package/docs/examples/layer/modal.vue +34 -34
  208. package/docs/examples/layer/steps.vue +46 -46
  209. package/docs/examples/layer-form/basic.vue +76 -76
  210. package/docs/examples/layer-form/config.vue +82 -82
  211. package/docs/examples/layer-form/size.vue +72 -72
  212. package/docs/examples/layout/basic.vue +36 -36
  213. package/docs/examples/layout/custom-size.vue +50 -50
  214. package/docs/examples/layout/disable-move.vue +37 -37
  215. package/docs/examples/layout/hide-mid-when-narrow.vue +96 -96
  216. package/docs/examples/layout/min-size.vue +73 -73
  217. package/docs/examples/layout/percent-size.vue +80 -80
  218. package/docs/examples/layout/simple.vue +22 -22
  219. package/docs/examples/layout/top-side.vue +34 -34
  220. package/docs/examples/map/basic.vue +22 -22
  221. package/docs/examples/menu/basic.vue +58 -58
  222. package/docs/examples/menu/collapsed.vue +49 -49
  223. package/docs/examples/menu/horizontal.vue +44 -44
  224. package/docs/examples/menu/selection-test.vue +104 -104
  225. package/docs/examples/menu/theme.vue +46 -46
  226. package/docs/examples/menu/vertical.vue +46 -46
  227. package/docs/examples/number/advanced.vue +143 -143
  228. package/docs/examples/number/basic.vue +63 -63
  229. package/docs/examples/number/disabled.vue +49 -49
  230. package/docs/examples/number/size.vue +42 -42
  231. package/docs/examples/number/slots.vue +123 -123
  232. package/docs/examples/number/step-strictly.vue +41 -41
  233. package/docs/examples/number/step.vue +47 -47
  234. package/docs/examples/page/basic.vue +41 -41
  235. package/docs/examples/page/init.vue +87 -87
  236. package/docs/examples/page/log.vue +453 -439
  237. package/docs/examples/panel/tool-buttons.vue +18 -18
  238. package/docs/examples/radio/basic.vue +17 -17
  239. package/docs/examples/radio/button.vue +17 -17
  240. package/docs/examples/radio/color.vue +18 -18
  241. package/docs/examples/radio/disabled.vue +17 -17
  242. package/docs/examples/radio/size.vue +29 -29
  243. package/docs/examples/rate/basic.vue +24 -24
  244. package/docs/examples/rate/half.vue +24 -24
  245. package/docs/examples/rate/readonly.vue +11 -11
  246. package/docs/examples/rate/text.vue +32 -32
  247. package/docs/examples/select/basic.vue +16 -16
  248. package/docs/examples/select/clearable.vue +22 -22
  249. package/docs/examples/select/disabled.vue +31 -31
  250. package/docs/examples/select/filterable.vue +24 -24
  251. package/docs/examples/select/group.vue +23 -23
  252. package/docs/examples/select/icon.vue +16 -16
  253. package/docs/examples/select/multiple.vue +18 -18
  254. package/docs/examples/select/size.vue +39 -39
  255. package/docs/examples/slider/basic.vue +42 -42
  256. package/docs/examples/slider/disabled.vue +17 -17
  257. package/docs/examples/slider/marks.vue +30 -30
  258. package/docs/examples/slider/size.vue +37 -37
  259. package/docs/examples/slider/tooltip.vue +36 -36
  260. package/docs/examples/slider/vertical.vue +26 -26
  261. package/docs/examples/slider-captcha/basic.vue +44 -44
  262. package/docs/examples/slider-captcha/custom.vue +48 -48
  263. package/docs/examples/switch/basic.vue +16 -16
  264. package/docs/examples/switch/disabled.vue +13 -13
  265. package/docs/examples/switch/loading.vue +13 -13
  266. package/docs/examples/switch/size.vue +15 -15
  267. package/docs/examples/switch/text.vue +13 -13
  268. package/docs/examples/table/actions.vue +116 -116
  269. package/docs/examples/table/add-row.vue +103 -103
  270. package/docs/examples/table/basic.vue +168 -168
  271. package/docs/examples/table/custom-layout.vue +115 -115
  272. package/docs/examples/table/editable.vue +263 -263
  273. package/docs/examples/table/field-selection.vue +87 -87
  274. package/docs/examples/table/frozen-column.vue +140 -140
  275. package/docs/examples/table/height-mode.vue +99 -99
  276. package/docs/examples/table/icon.vue +85 -85
  277. package/docs/examples/table/link.vue +66 -66
  278. package/docs/examples/table/multiple.vue +178 -178
  279. package/docs/examples/table/pagination.vue +151 -151
  280. package/docs/examples/table/single-selection.vue +64 -64
  281. package/docs/examples/table/sub-table-lazy.vue +97 -97
  282. package/docs/examples/table/sub-table.vue +103 -103
  283. package/docs/examples/table/tag.vue +43 -43
  284. package/docs/examples/table/tree-column.vue +119 -119
  285. package/docs/examples/table/tree-data.vue +141 -141
  286. package/docs/examples/table/tree-lazy.vue +80 -80
  287. package/docs/examples/table-panel/basic.vue +228 -228
  288. package/docs/examples/table-panel/batch-operations.vue +285 -285
  289. package/docs/examples/table-panel/filter.vue +219 -219
  290. package/docs/examples/table-panel/multiple-selection.vue +243 -243
  291. package/docs/examples/table-panel/pagination.vue +133 -133
  292. package/docs/examples/table-panel/sub-table-lazy.vue +118 -118
  293. package/docs/examples/tabs/basic.vue +98 -98
  294. package/docs/examples/title/basic.vue +80 -80
  295. package/docs/examples/tree/accordion.vue +46 -46
  296. package/docs/examples/tree/basic.vue +50 -50
  297. package/docs/examples/tree/buttons.vue +53 -53
  298. package/docs/examples/tree/checkable.vue +52 -52
  299. package/docs/examples/tree/custom-keys.vue +39 -39
  300. package/docs/examples/tree/default-expanded.vue +52 -52
  301. package/docs/examples/tree/draggable.vue +29 -29
  302. package/docs/examples/tree/expand-on-click.vue +39 -39
  303. package/docs/examples/tree/flat-data.vue +20 -20
  304. package/docs/examples/tree/icon.vue +40 -40
  305. package/docs/examples/tree/load-data.vue +37 -37
  306. package/docs/examples/tree/methods.vue +74 -74
  307. package/docs/examples/tree/theme.vue +33 -33
  308. package/docs/examples/upload/accept.vue +31 -31
  309. package/docs/examples/upload/basic.vue +12 -12
  310. package/docs/examples/upload/drag.vue +11 -11
  311. package/docs/examples/upload/image.vue +17 -17
  312. package/docs/examples/upload/limit.vue +20 -20
  313. package/docs/examples/upload/multiple.vue +17 -17
  314. package/docs/examples/upload/readonly.vue +17 -17
  315. package/docs/examples/utils/cipher.vue +160 -160
  316. package/docs/examples/utils/common.vue +153 -153
  317. package/docs/examples/utils/date.vue +56 -56
  318. package/docs/examples/utils/dom.vue +52 -52
  319. package/docs/examples/utils/is.vue +70 -70
  320. package/docs/examples/workflow/basic.vue +265 -265
  321. package/docs/examples/workflow-viewer/basic.vue +248 -248
  322. package/package.json +23 -23
@@ -1,50 +1,50 @@
1
- # InputTag 输入标签
2
-
3
- 用于输入并以标签形式展示内容的组件。
4
-
5
- ## 基础用法
6
-
7
- <Demo :source-code="inputTagBasicCode">
8
- <template #source>
9
- <input-tag-basic />
10
- </template>
11
- <template #description>
12
- 使用 `v-model` 绑定一个逗号分隔的字符串。输入内容后按回车即可添加标签。
13
- </template>
14
- </Demo>
15
-
16
- ## 只读状态
17
-
18
- <Demo :source-code="inputTagReadonlyCode">
19
- <template #source>
20
- <input-tag-readonly />
21
- </template>
22
- <template #description>
23
- 设置 `readonly` 属性使组件处于只读状态,此时无法添加或删除标签。
24
- </template>
25
- </Demo>
26
-
27
- ## 自定义颜色
28
-
29
- <Demo :source-code="inputTagColorsCode">
30
- <template #source>
31
- <input-tag-colors />
32
- </template>
33
- <template #description>
34
- 通过 `colors` 属性传入颜色对象数组,可以自定义标签的样式。默认会循环使用这些颜色。
35
- </template>
36
- </Demo>
37
-
38
- ## API
39
-
40
- <ApiTable :data="inputTagApi" componentName="input-tag" />
41
-
42
- <script setup>
43
- import InputTagBasic from '../examples/input-tag/basic.vue'
44
- import InputTagReadonly from '../examples/input-tag/readonly.vue'
45
- import InputTagColors from '../examples/input-tag/colors.vue'
46
- import inputTagApi from './meta/input-tag'
47
- import inputTagBasicCode from '../examples/input-tag/basic.vue?raw'
48
- import inputTagReadonlyCode from '../examples/input-tag/readonly.vue?raw'
49
- import inputTagColorsCode from '../examples/input-tag/colors.vue?raw'
50
- </script>
1
+ # InputTag 输入标签
2
+
3
+ 用于输入并以标签形式展示内容的组件。
4
+
5
+ ## 基础用法
6
+
7
+ <Demo :source-code="inputTagBasicCode">
8
+ <template #source>
9
+ <input-tag-basic />
10
+ </template>
11
+ <template #description>
12
+ 使用 `v-model` 绑定一个逗号分隔的字符串。输入内容后按回车即可添加标签。
13
+ </template>
14
+ </Demo>
15
+
16
+ ## 只读状态
17
+
18
+ <Demo :source-code="inputTagReadonlyCode">
19
+ <template #source>
20
+ <input-tag-readonly />
21
+ </template>
22
+ <template #description>
23
+ 设置 `readonly` 属性使组件处于只读状态,此时无法添加或删除标签。
24
+ </template>
25
+ </Demo>
26
+
27
+ ## 自定义颜色
28
+
29
+ <Demo :source-code="inputTagColorsCode">
30
+ <template #source>
31
+ <input-tag-colors />
32
+ </template>
33
+ <template #description>
34
+ 通过 `colors` 属性传入颜色对象数组,可以自定义标签的样式。默认会循环使用这些颜色。
35
+ </template>
36
+ </Demo>
37
+
38
+ ## API
39
+
40
+ <ApiTable :data="inputTagApi" componentName="input-tag" />
41
+
42
+ <script setup>
43
+ import InputTagBasic from '../examples/input-tag/basic.vue'
44
+ import InputTagReadonly from '../examples/input-tag/readonly.vue'
45
+ import InputTagColors from '../examples/input-tag/colors.vue'
46
+ import inputTagApi from './meta/input-tag'
47
+ import inputTagBasicCode from '../examples/input-tag/basic.vue?raw'
48
+ import inputTagReadonlyCode from '../examples/input-tag/readonly.vue?raw'
49
+ import inputTagColorsCode from '../examples/input-tag/colors.vue?raw'
50
+ </script>
@@ -1,129 +1,129 @@
1
- # Input 输入框
2
-
3
- 通过鼠标或键盘输入字符。
4
-
5
- ## 基础用法
6
-
7
- <Demo :source-code="inputBasicCode">
8
- <template #source>
9
- <input-basic />
10
- </template>
11
- <template #description>
12
- 使用 v-model 实现双向数据绑定。
13
- </template>
14
- </Demo>
15
-
16
- ## 不同尺寸
17
-
18
- Input 组件提供三种尺寸。
19
-
20
- <Demo :source-code="inputSizeCode">
21
- <template #source>
22
- <input-size />
23
- </template>
24
- <template #description>
25
- 使用 size 属性改变输入框大小。除了默认大小外,还有另外两个选项: large, small。
26
- </template>
27
- </Demo>
28
-
29
- ## 禁用和只读
30
-
31
- 通过 `disabled` 和 `readonly` 属性指定输入框的状态。
32
-
33
- <Demo :source-code="inputDisabledCode">
34
- <template #source>
35
- <input-disabled />
36
- </template>
37
- <template #description>
38
- 通过 disabled 属性指定是否禁用 input 组件,通过 readonly 属性指定是否只读。
39
- </template>
40
- </Demo>
41
-
42
- ## 可清除
43
-
44
- 使用 `clearable` 属性即可得到一个可清除的输入框。
45
-
46
- <Demo :source-code="inputClearableCode">
47
- <template #source>
48
- <input-clearable />
49
- </template>
50
- <template #description>
51
- 设置 `clearable` 属性为 `true` 即可显示清除按钮。
52
- </template>
53
- </Demo>
54
-
55
- ## 密码框
56
-
57
- 使用 `show-password` 属性即可得到一个可切换显示隐藏的密码框。
58
-
59
- <Demo :source-code="inputPasswordCode">
60
- <template #source>
61
- <input-password />
62
- </template>
63
- <template #description>
64
- 设置 `show-password` 属性为 `true` 即可显示密码切换图标。
65
- </template>
66
- </Demo>
67
-
68
- ## 字数统计
69
-
70
- 设置 `show-word-limit` 属性来展示字数统计。
71
-
72
- <Demo :source-code="inputWordLimitCode">
73
- <template #source>
74
- <input-word-limit />
75
- </template>
76
- <template #description>
77
- 使用 `maxlength` 和 `show-word-limit` 属性来限制输入字数。通过 `word-limit-position` 可以设置字数统计的位置。
78
- </template>
79
- </Demo>
80
-
81
- ## 文本域
82
-
83
- 用于输入多行文本信息可缩放的输入框。添加 `type="textarea"` 属性即可将输入框转换为文本域。
84
-
85
- <Demo :source-code="inputTextareaCode">
86
- <template #source>
87
- <input-textarea />
88
- </template>
89
- <template #description>
90
- 通过 `rows` 控制文本域行数,或使用 `autosize` 属性设置自适应高度。
91
- </template>
92
- </Demo>
93
-
94
- ## 带图标的输入框
95
-
96
- 可以通过 `prefix-icon` 和 `suffix-icon` 属性在输入框中显示图标。
97
-
98
- <Demo :source-code="inputIconCode">
99
- <template #source>
100
- <input-icon />
101
- </template>
102
- <template #description>
103
- 使用 `prefix-icon` 设置前缀图标,使用 `suffix-icon` 设置后缀图标。
104
- </template>
105
- </Demo>
106
-
107
- ## API
108
-
109
- <ApiTable :data="inputApi" componentName="input" />
110
-
111
- <script setup>
112
- import InputBasic from '../examples/input/basic.vue'
113
- import InputSize from '../examples/input/size.vue'
114
- import InputDisabled from '../examples/input/disabled.vue'
115
- import InputClearable from '../examples/input/clearable.vue'
116
- import InputPassword from '../examples/input/password.vue'
117
- import InputWordLimit from '../examples/input/word-limit.vue'
118
- import InputTextarea from '../examples/input/textarea.vue'
119
- import InputIcon from '../examples/input/icon.vue'
120
- import inputApi from './meta/input'
121
- import inputBasicCode from '../examples/input/basic.vue?raw'
122
- import inputSizeCode from '../examples/input/size.vue?raw'
123
- import inputDisabledCode from '../examples/input/disabled.vue?raw'
124
- import inputClearableCode from '../examples/input/clearable.vue?raw'
125
- import inputPasswordCode from '../examples/input/password.vue?raw'
126
- import inputWordLimitCode from '../examples/input/word-limit.vue?raw'
127
- import inputTextareaCode from '../examples/input/textarea.vue?raw'
128
- import inputIconCode from '../examples/input/icon.vue?raw'
129
- </script>
1
+ # Input 输入框
2
+
3
+ 通过鼠标或键盘输入字符。
4
+
5
+ ## 基础用法
6
+
7
+ <Demo :source-code="inputBasicCode">
8
+ <template #source>
9
+ <input-basic />
10
+ </template>
11
+ <template #description>
12
+ 使用 v-model 实现双向数据绑定。
13
+ </template>
14
+ </Demo>
15
+
16
+ ## 不同尺寸
17
+
18
+ Input 组件提供三种尺寸。
19
+
20
+ <Demo :source-code="inputSizeCode">
21
+ <template #source>
22
+ <input-size />
23
+ </template>
24
+ <template #description>
25
+ 使用 size 属性改变输入框大小。除了默认大小外,还有另外两个选项: large, small。
26
+ </template>
27
+ </Demo>
28
+
29
+ ## 禁用和只读
30
+
31
+ 通过 `disabled` 和 `readonly` 属性指定输入框的状态。
32
+
33
+ <Demo :source-code="inputDisabledCode">
34
+ <template #source>
35
+ <input-disabled />
36
+ </template>
37
+ <template #description>
38
+ 通过 disabled 属性指定是否禁用 input 组件,通过 readonly 属性指定是否只读。
39
+ </template>
40
+ </Demo>
41
+
42
+ ## 可清除
43
+
44
+ 使用 `clearable` 属性即可得到一个可清除的输入框。
45
+
46
+ <Demo :source-code="inputClearableCode">
47
+ <template #source>
48
+ <input-clearable />
49
+ </template>
50
+ <template #description>
51
+ 设置 `clearable` 属性为 `true` 即可显示清除按钮。
52
+ </template>
53
+ </Demo>
54
+
55
+ ## 密码框
56
+
57
+ 使用 `show-password` 属性即可得到一个可切换显示隐藏的密码框。
58
+
59
+ <Demo :source-code="inputPasswordCode">
60
+ <template #source>
61
+ <input-password />
62
+ </template>
63
+ <template #description>
64
+ 设置 `show-password` 属性为 `true` 即可显示密码切换图标。
65
+ </template>
66
+ </Demo>
67
+
68
+ ## 字数统计
69
+
70
+ 设置 `show-word-limit` 属性来展示字数统计。
71
+
72
+ <Demo :source-code="inputWordLimitCode">
73
+ <template #source>
74
+ <input-word-limit />
75
+ </template>
76
+ <template #description>
77
+ 使用 `maxlength` 和 `show-word-limit` 属性来限制输入字数。通过 `word-limit-position` 可以设置字数统计的位置。
78
+ </template>
79
+ </Demo>
80
+
81
+ ## 文本域
82
+
83
+ 用于输入多行文本信息可缩放的输入框。添加 `type="textarea"` 属性即可将输入框转换为文本域。
84
+
85
+ <Demo :source-code="inputTextareaCode">
86
+ <template #source>
87
+ <input-textarea />
88
+ </template>
89
+ <template #description>
90
+ 通过 `rows` 控制文本域行数,或使用 `autosize` 属性设置自适应高度。
91
+ </template>
92
+ </Demo>
93
+
94
+ ## 带图标的输入框
95
+
96
+ 可以通过 `prefix-icon` 和 `suffix-icon` 属性在输入框中显示图标。
97
+
98
+ <Demo :source-code="inputIconCode">
99
+ <template #source>
100
+ <input-icon />
101
+ </template>
102
+ <template #description>
103
+ 使用 `prefix-icon` 设置前缀图标,使用 `suffix-icon` 设置后缀图标。
104
+ </template>
105
+ </Demo>
106
+
107
+ ## API
108
+
109
+ <ApiTable :data="inputApi" componentName="input" />
110
+
111
+ <script setup>
112
+ import InputBasic from '../examples/input/basic.vue'
113
+ import InputSize from '../examples/input/size.vue'
114
+ import InputDisabled from '../examples/input/disabled.vue'
115
+ import InputClearable from '../examples/input/clearable.vue'
116
+ import InputPassword from '../examples/input/password.vue'
117
+ import InputWordLimit from '../examples/input/word-limit.vue'
118
+ import InputTextarea from '../examples/input/textarea.vue'
119
+ import InputIcon from '../examples/input/icon.vue'
120
+ import inputApi from './meta/input'
121
+ import inputBasicCode from '../examples/input/basic.vue?raw'
122
+ import inputSizeCode from '../examples/input/size.vue?raw'
123
+ import inputDisabledCode from '../examples/input/disabled.vue?raw'
124
+ import inputClearableCode from '../examples/input/clearable.vue?raw'
125
+ import inputPasswordCode from '../examples/input/password.vue?raw'
126
+ import inputWordLimitCode from '../examples/input/word-limit.vue?raw'
127
+ import inputTextareaCode from '../examples/input/textarea.vue?raw'
128
+ import inputIconCode from '../examples/input/icon.vue?raw'
129
+ </script>
@@ -1,61 +1,61 @@
1
- # LayerForm 弹窗表单
2
-
3
- 通过点击按钮打开一个弹窗,在弹窗中通过 JSON Schema 配置渲染表单。
4
-
5
- ::: warning 重要提示
6
- `j-layer-form` 组件不是单独使用的,需要结合 `j-form` 组件使用。`j-layer-form` 应该作为 `j-form` 的 `schema` 配置中的一项,通过 `type: 'j-layer-form'` 来指定。`j-layer-form` 依赖 `j-form` 提供的表单上下文(通过 `useFormInject` 获取),用于获取表单配置信息如 `labelWidth`、`labelPosition` 等。
7
- :::
8
-
9
- ## 基础用法
10
-
11
- `j-layer-form` 需要作为 `j-form` 的 `schema` 配置中的一项使用。弹窗内的表单字段通过 `children` 配置。
12
-
13
- <Demo :source-code="layerFormBasicCode">
14
- <template #source>
15
- <layer-form-basic />
16
- </template>
17
- <template #description>
18
- 在 `j-form` 的 `schema` 中配置 `type: 'j-layer-form'`,弹窗内的表单字段通过 `children` 配置。`j-layer-form` 会自动继承 `j-form` 的表单配置(如 `labelWidth`、`labelPosition` 等),点击按钮打开弹窗进行表单填写。
19
- </template>
20
- </Demo>
21
-
22
- ## 自定义弹窗尺寸
23
-
24
- 通过 `layerWidth` 和 `layerHeight` 属性自定义弹窗的宽度和高度。
25
-
26
- <Demo :source-code="layerFormSizeCode">
27
- <template #source>
28
- <layer-form-size />
29
- </template>
30
- <template #description>
31
- 在 `j-layer-form` 的 `config` 中设置 `layerWidth` 和 `layerHeight` 属性可以自定义弹窗的尺寸。
32
- </template>
33
- </Demo>
34
-
35
- ## 表单配置
36
-
37
- 通过 `formConfig` 属性配置表单的布局、标签位置、大小等。`j-layer-form` 的 `formConfig` 会覆盖 `j-form` 的配置。
38
-
39
- <Demo :source-code="layerFormConfigCode">
40
- <template #source>
41
- <layer-form-config />
42
- </template>
43
- <template #description>
44
- 在 `j-layer-form` 的 `config` 中通过 `formConfig` 可以配置表单的 `labelWidth`、`labelPosition`、`size`、`gutter`、`span` 等属性。如果 `j-layer-form` 的 `formConfig` 中未指定某些属性,会自动继承 `j-form` 的配置。
45
- </template>
46
- </Demo>
47
-
48
- ## API
49
-
50
- <ApiTable :data="layerFormApi" componentName="layer-form" />
51
-
52
- <script setup>
53
- import LayerFormBasic from '../examples/layer-form/basic.vue'
54
- import LayerFormSize from '../examples/layer-form/size.vue'
55
- import LayerFormConfig from '../examples/layer-form/config.vue'
56
- import layerFormApi from './meta/layer-form'
57
-
58
- import layerFormBasicCode from '../examples/layer-form/basic.vue?raw'
59
- import layerFormSizeCode from '../examples/layer-form/size.vue?raw'
60
- import layerFormConfigCode from '../examples/layer-form/config.vue?raw'
61
- </script>
1
+ # LayerForm 弹窗表单
2
+
3
+ 通过点击按钮打开一个弹窗,在弹窗中通过 JSON Schema 配置渲染表单。
4
+
5
+ ::: warning 重要提示
6
+ `j-layer-form` 组件不是单独使用的,需要结合 `j-form` 组件使用。`j-layer-form` 应该作为 `j-form` 的 `schema` 配置中的一项,通过 `type: 'j-layer-form'` 来指定。`j-layer-form` 依赖 `j-form` 提供的表单上下文(通过 `useFormInject` 获取),用于获取表单配置信息如 `labelWidth`、`labelPosition` 等。
7
+ :::
8
+
9
+ ## 基础用法
10
+
11
+ `j-layer-form` 需要作为 `j-form` 的 `schema` 配置中的一项使用。弹窗内的表单字段通过 `children` 配置。
12
+
13
+ <Demo :source-code="layerFormBasicCode">
14
+ <template #source>
15
+ <layer-form-basic />
16
+ </template>
17
+ <template #description>
18
+ 在 `j-form` 的 `schema` 中配置 `type: 'j-layer-form'`,弹窗内的表单字段通过 `children` 配置。`j-layer-form` 会自动继承 `j-form` 的表单配置(如 `labelWidth`、`labelPosition` 等),点击按钮打开弹窗进行表单填写。
19
+ </template>
20
+ </Demo>
21
+
22
+ ## 自定义弹窗尺寸
23
+
24
+ 通过 `layerWidth` 和 `layerHeight` 属性自定义弹窗的宽度和高度。
25
+
26
+ <Demo :source-code="layerFormSizeCode">
27
+ <template #source>
28
+ <layer-form-size />
29
+ </template>
30
+ <template #description>
31
+ 在 `j-layer-form` 的 `config` 中设置 `layerWidth` 和 `layerHeight` 属性可以自定义弹窗的尺寸。
32
+ </template>
33
+ </Demo>
34
+
35
+ ## 表单配置
36
+
37
+ 通过 `formConfig` 属性配置表单的布局、标签位置、大小等。`j-layer-form` 的 `formConfig` 会覆盖 `j-form` 的配置。
38
+
39
+ <Demo :source-code="layerFormConfigCode">
40
+ <template #source>
41
+ <layer-form-config />
42
+ </template>
43
+ <template #description>
44
+ 在 `j-layer-form` 的 `config` 中通过 `formConfig` 可以配置表单的 `labelWidth`、`labelPosition`、`size`、`gutter`、`span` 等属性。如果 `j-layer-form` 的 `formConfig` 中未指定某些属性,会自动继承 `j-form` 的配置。
45
+ </template>
46
+ </Demo>
47
+
48
+ ## API
49
+
50
+ <ApiTable :data="layerFormApi" componentName="layer-form" />
51
+
52
+ <script setup>
53
+ import LayerFormBasic from '../examples/layer-form/basic.vue'
54
+ import LayerFormSize from '../examples/layer-form/size.vue'
55
+ import LayerFormConfig from '../examples/layer-form/config.vue'
56
+ import layerFormApi from './meta/layer-form'
57
+
58
+ import layerFormBasicCode from '../examples/layer-form/basic.vue?raw'
59
+ import layerFormSizeCode from '../examples/layer-form/size.vue?raw'
60
+ import layerFormConfigCode from '../examples/layer-form/config.vue?raw'
61
+ </script>