@a2simcode/ui 0.0.84 → 0.0.86

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 (327) hide show
  1. package/.cursor/skills/ui-component-helper/README.md +86 -86
  2. package/.cursor/skills/ui-component-helper/SKILL.md +115 -115
  3. package/LICENSE +53 -53
  4. package/README.md +156 -156
  5. package/dist/components/input-layer/index.d.ts +1 -0
  6. package/dist/components/input-layer/src/input-layer.vue.d.ts +1 -0
  7. package/dist/components/table-panel/index.d.ts +1 -0
  8. package/dist/components/table-panel/src/table-panel.vue.d.ts +1 -0
  9. package/dist/simcode-ui.es.js +3967 -3905
  10. package/dist/simcode-ui.umd.js +2 -2
  11. package/dist/stats.html +1 -1
  12. package/dist/ui.css +1 -1
  13. package/docs/components/autocomplete.md +89 -89
  14. package/docs/components/barcode.md +101 -101
  15. package/docs/components/button-select.md +24 -24
  16. package/docs/components/button.md +117 -117
  17. package/docs/components/buttons.md +119 -119
  18. package/docs/components/cascader-select.md +114 -114
  19. package/docs/components/checkbox.md +114 -114
  20. package/docs/components/code-mirror.md +85 -85
  21. package/docs/components/collapse.md +26 -26
  22. package/docs/components/comp.md +71 -71
  23. package/docs/components/count-up.md +24 -24
  24. package/docs/components/count.md +24 -24
  25. package/docs/components/data-panel.md +24 -24
  26. package/docs/components/date.md +76 -76
  27. package/docs/components/dialog-full.md +112 -112
  28. package/docs/components/dialog.md +127 -127
  29. package/docs/components/divider.md +24 -24
  30. package/docs/components/drawer.md +127 -127
  31. package/docs/components/dynamic-layer.md +118 -118
  32. package/docs/components/echarts.md +72 -72
  33. package/docs/components/editor.md +24 -24
  34. package/docs/components/form.md +27 -27
  35. package/docs/components/guid.md +39 -39
  36. package/docs/components/hpanel.md +24 -24
  37. package/docs/components/icon.md +56 -56
  38. package/docs/components/input-button.md +24 -24
  39. package/docs/components/input-code.md +24 -24
  40. package/docs/components/input-color.md +114 -114
  41. package/docs/components/input-layer.md +26 -26
  42. package/docs/components/input-rows.md +370 -370
  43. package/docs/components/input-tag.md +50 -50
  44. package/docs/components/input.md +129 -129
  45. package/docs/components/layer-form.md +61 -61
  46. package/docs/components/layer.md +127 -127
  47. package/docs/components/layout.md +132 -132
  48. package/docs/components/map.md +24 -24
  49. package/docs/components/menu.md +121 -121
  50. package/docs/components/meta/button.ts +212 -212
  51. package/docs/components/meta/buttons.ts +76 -76
  52. package/docs/components/meta/comp.ts +242 -242
  53. package/docs/components/meta/date.ts +256 -256
  54. package/docs/components/meta/echarts.ts +64 -64
  55. package/docs/components/meta/form.ts +165 -165
  56. package/docs/components/meta/input-cards.ts +112 -112
  57. package/docs/components/meta/input-color.ts +243 -243
  58. package/docs/components/meta/input-rows.ts +113 -113
  59. package/docs/components/meta/input.ts +23 -1
  60. package/docs/components/meta/layer-form.ts +56 -56
  61. package/docs/components/meta/map.ts +68 -68
  62. package/docs/components/meta/page.ts +46 -46
  63. package/docs/components/meta/panel.ts +152 -152
  64. package/docs/components/meta/slider.ts +270 -270
  65. package/docs/components/meta/table.ts +363 -363
  66. package/docs/components/meta/tabs.ts +146 -146
  67. package/docs/components/meta/tree-select.ts +199 -199
  68. package/docs/components/meta/workflow-viewer.ts +55 -55
  69. package/docs/components/meta/workflow.ts +113 -113
  70. package/docs/components/number.md +124 -124
  71. package/docs/components/page.md +87 -87
  72. package/docs/components/panel.md +37 -37
  73. package/docs/components/radio.md +87 -87
  74. package/docs/components/rate.md +71 -71
  75. package/docs/components/select.md +133 -133
  76. package/docs/components/slider-captcha.md +41 -41
  77. package/docs/components/slider.md +101 -101
  78. package/docs/components/switch.md +90 -90
  79. package/docs/components/table-panel.md +218 -218
  80. package/docs/components/table.md +319 -319
  81. package/docs/components/tabs.md +26 -26
  82. package/docs/components/title.md +24 -24
  83. package/docs/components/tree.md +207 -207
  84. package/docs/components/upload.md +117 -117
  85. package/docs/components/workflow-viewer.md +21 -21
  86. package/docs/components/workflow.md +21 -21
  87. package/docs/examples/autocomplete/advanced.vue +35 -35
  88. package/docs/examples/autocomplete/basic.vue +32 -32
  89. package/docs/examples/autocomplete/clearable.vue +33 -33
  90. package/docs/examples/autocomplete/custom-template.vue +49 -49
  91. package/docs/examples/autocomplete/disabled.vue +33 -33
  92. package/docs/examples/autocomplete/icon.vue +37 -37
  93. package/docs/examples/barcode/all-types.vue +380 -380
  94. package/docs/examples/barcode/basic.vue +14 -14
  95. package/docs/examples/barcode/props-appearance.vue +243 -243
  96. package/docs/examples/barcode/props-geometry.vue +143 -143
  97. package/docs/examples/barcode/props-logic.vue +216 -216
  98. package/docs/examples/barcode/props-symbology.vue +199 -199
  99. package/docs/examples/barcode/props-text.vue +268 -268
  100. package/docs/examples/button/basic.vue +7 -7
  101. package/docs/examples/button/danger-ghost.vue +17 -17
  102. package/docs/examples/button/disabled.vue +10 -10
  103. package/docs/examples/button/loading.vue +6 -6
  104. package/docs/examples/button/shape.vue +7 -7
  105. package/docs/examples/button/size.vue +14 -14
  106. package/docs/examples/button/type.vue +9 -9
  107. package/docs/examples/button-select/basic.vue +19 -19
  108. package/docs/examples/buttons/basic.vue +45 -45
  109. package/docs/examples/buttons/disabled.vue +36 -36
  110. package/docs/examples/buttons/dropdown.vue +63 -63
  111. package/docs/examples/buttons/group.vue +52 -52
  112. package/docs/examples/buttons/link.vue +47 -47
  113. package/docs/examples/buttons/popup.vue +39 -39
  114. package/docs/examples/buttons/size.vue +45 -45
  115. package/docs/examples/cascader-select/basic.vue +28 -28
  116. package/docs/examples/cascader-select/clearable.vue +34 -34
  117. package/docs/examples/cascader-select/disabled.vue +43 -43
  118. package/docs/examples/cascader-select/filterable.vue +37 -37
  119. package/docs/examples/cascader-select/methods.vue +84 -84
  120. package/docs/examples/cascader-select/multiple.vue +38 -38
  121. package/docs/examples/cascader-select/slot.vue +45 -45
  122. package/docs/examples/checkbox/basic.vue +18 -18
  123. package/docs/examples/checkbox/button.vue +19 -19
  124. package/docs/examples/checkbox/color.vue +25 -25
  125. package/docs/examples/checkbox/disabled.vue +17 -17
  126. package/docs/examples/checkbox/min-max.vue +20 -20
  127. package/docs/examples/checkbox/mixed.vue +56 -56
  128. package/docs/examples/checkbox/size.vue +28 -28
  129. package/docs/examples/code-mirror/basic.vue +11 -11
  130. package/docs/examples/code-mirror/events.vue +42 -42
  131. package/docs/examples/code-mirror/height.vue +25 -25
  132. package/docs/examples/code-mirror/mode.vue +33 -33
  133. package/docs/examples/code-mirror/readonly.vue +14 -14
  134. package/docs/examples/collapse/basic.vue +82 -82
  135. package/docs/examples/comp/basic.vue +7 -7
  136. package/docs/examples/comp/collapse.vue +38 -38
  137. package/docs/examples/comp/tabs.vue +38 -38
  138. package/docs/examples/count/basic.vue +54 -54
  139. package/docs/examples/count-up/basic.vue +89 -89
  140. package/docs/examples/data-panel/basic.vue +110 -110
  141. package/docs/examples/date/basic.vue +73 -73
  142. package/docs/examples/date/default-value.vue +59 -59
  143. package/docs/examples/date/format.vue +75 -75
  144. package/docs/examples/date/range.vue +66 -66
  145. package/docs/examples/date/types.vue +79 -79
  146. package/docs/examples/dialog/basic.vue +36 -36
  147. package/docs/examples/dialog/custom-buttons.vue +44 -44
  148. package/docs/examples/dialog/fullscreen.vue +23 -23
  149. package/docs/examples/dialog/no-mask.vue +17 -17
  150. package/docs/examples/dialog/size.vue +44 -44
  151. package/docs/examples/dialog/steps.vue +57 -57
  152. package/docs/examples/dialog-full/basic.vue +29 -29
  153. package/docs/examples/dialog-full/custom-buttons.vue +45 -45
  154. package/docs/examples/dialog-full/no-buttons.vue +18 -18
  155. package/docs/examples/dialog-full/no-header.vue +27 -27
  156. package/docs/examples/dialog-full/steps.vue +71 -71
  157. package/docs/examples/divider/basic.vue +52 -52
  158. package/docs/examples/drawer/basic.vue +35 -35
  159. package/docs/examples/drawer/custom-buttons.vue +34 -34
  160. package/docs/examples/drawer/direction.vue +47 -47
  161. package/docs/examples/drawer/mask.vue +36 -36
  162. package/docs/examples/drawer/no-buttons.vue +20 -20
  163. package/docs/examples/drawer/size.vue +28 -28
  164. package/docs/examples/dynamic-layer/basic.vue +33 -33
  165. package/docs/examples/dynamic-layer/custom-buttons.vue +43 -43
  166. package/docs/examples/dynamic-layer/form.vue +73 -73
  167. package/docs/examples/dynamic-layer/steps.vue +52 -52
  168. package/docs/examples/dynamic-layer/types.vue +40 -40
  169. package/docs/examples/echarts/basic.vue +31 -31
  170. package/docs/examples/echarts/dynamic.vue +43 -43
  171. package/docs/examples/echarts/line.vue +46 -46
  172. package/docs/examples/echarts/pie.vue +44 -44
  173. package/docs/examples/editor/basic.vue +15 -15
  174. package/docs/examples/form/basic.vue +456 -456
  175. package/docs/examples/guid/basic.vue +10 -10
  176. package/docs/examples/guid/size.vue +13 -13
  177. package/docs/examples/hpanel/basic.vue +79 -79
  178. package/docs/examples/icon/basic.vue +9 -9
  179. package/docs/examples/icon/rotate-flip.vue +9 -9
  180. package/docs/examples/icon/size.vue +7 -7
  181. package/docs/examples/input/basic.vue +10 -10
  182. package/docs/examples/input/clearable.vue +12 -12
  183. package/docs/examples/input/disabled.vue +6 -6
  184. package/docs/examples/input/icon.vue +23 -23
  185. package/docs/examples/input/password.vue +18 -18
  186. package/docs/examples/input/size.vue +13 -13
  187. package/docs/examples/input/textarea.vue +25 -25
  188. package/docs/examples/input/word-limit.vue +28 -28
  189. package/docs/examples/input-button/basic.vue +33 -33
  190. package/docs/examples/input-code/basic.vue +29 -29
  191. package/docs/examples/input-color/basic.vue +10 -10
  192. package/docs/examples/input-color/disabled.vue +13 -13
  193. package/docs/examples/input-color/format.vue +17 -17
  194. package/docs/examples/input-color/no-alpha.vue +13 -13
  195. package/docs/examples/input-color/only-button.vue +15 -15
  196. package/docs/examples/input-color/predefine.vue +31 -31
  197. package/docs/examples/input-color/size.vue +15 -15
  198. package/docs/examples/input-layer/basic.vue +69 -69
  199. package/docs/examples/input-rows/basic.vue +73 -73
  200. package/docs/examples/input-rows/drag.vue +48 -48
  201. package/docs/examples/input-rows/layer-form.vue +85 -85
  202. package/docs/examples/input-rows/nested.vue +91 -91
  203. package/docs/examples/input-tag/basic.vue +27 -27
  204. package/docs/examples/input-tag/colors.vue +23 -23
  205. package/docs/examples/input-tag/readonly.vue +17 -17
  206. package/docs/examples/layer/basic.vue +43 -43
  207. package/docs/examples/layer/custom-buttons.vue +61 -61
  208. package/docs/examples/layer/drawer.vue +37 -37
  209. package/docs/examples/layer/full.vue +38 -38
  210. package/docs/examples/layer/modal.vue +34 -34
  211. package/docs/examples/layer/steps.vue +46 -46
  212. package/docs/examples/layer-form/basic.vue +76 -76
  213. package/docs/examples/layer-form/config.vue +82 -82
  214. package/docs/examples/layer-form/size.vue +72 -72
  215. package/docs/examples/layout/basic.vue +36 -36
  216. package/docs/examples/layout/custom-size.vue +50 -50
  217. package/docs/examples/layout/disable-move.vue +37 -37
  218. package/docs/examples/layout/hide-mid-when-narrow.vue +96 -96
  219. package/docs/examples/layout/min-size.vue +73 -73
  220. package/docs/examples/layout/percent-size.vue +80 -80
  221. package/docs/examples/layout/simple.vue +22 -22
  222. package/docs/examples/layout/top-side.vue +34 -34
  223. package/docs/examples/map/basic.vue +22 -22
  224. package/docs/examples/menu/basic.vue +58 -58
  225. package/docs/examples/menu/collapsed.vue +49 -49
  226. package/docs/examples/menu/horizontal.vue +44 -44
  227. package/docs/examples/menu/selection-test.vue +104 -104
  228. package/docs/examples/menu/theme.vue +46 -46
  229. package/docs/examples/menu/vertical.vue +46 -46
  230. package/docs/examples/number/advanced.vue +143 -143
  231. package/docs/examples/number/basic.vue +63 -63
  232. package/docs/examples/number/disabled.vue +49 -49
  233. package/docs/examples/number/size.vue +42 -42
  234. package/docs/examples/number/slots.vue +123 -123
  235. package/docs/examples/number/step-strictly.vue +41 -41
  236. package/docs/examples/number/step.vue +47 -47
  237. package/docs/examples/page/basic.vue +41 -41
  238. package/docs/examples/page/dept-user-management.vue +211 -211
  239. package/docs/examples/page/init.vue +87 -87
  240. package/docs/examples/page/log.vue +453 -453
  241. package/docs/examples/page/user-management.vue +313 -313
  242. package/docs/examples/panel/tool-buttons.vue +18 -18
  243. package/docs/examples/radio/basic.vue +17 -17
  244. package/docs/examples/radio/button.vue +17 -17
  245. package/docs/examples/radio/color.vue +18 -18
  246. package/docs/examples/radio/disabled.vue +17 -17
  247. package/docs/examples/radio/size.vue +29 -29
  248. package/docs/examples/rate/basic.vue +24 -24
  249. package/docs/examples/rate/half.vue +24 -24
  250. package/docs/examples/rate/readonly.vue +11 -11
  251. package/docs/examples/rate/text.vue +32 -32
  252. package/docs/examples/select/basic.vue +16 -16
  253. package/docs/examples/select/clearable.vue +22 -22
  254. package/docs/examples/select/disabled.vue +31 -31
  255. package/docs/examples/select/filterable.vue +24 -24
  256. package/docs/examples/select/group.vue +23 -23
  257. package/docs/examples/select/icon.vue +16 -16
  258. package/docs/examples/select/multiple.vue +18 -18
  259. package/docs/examples/select/size.vue +39 -39
  260. package/docs/examples/slider/basic.vue +42 -42
  261. package/docs/examples/slider/disabled.vue +17 -17
  262. package/docs/examples/slider/marks.vue +30 -30
  263. package/docs/examples/slider/size.vue +37 -37
  264. package/docs/examples/slider/tooltip.vue +36 -36
  265. package/docs/examples/slider/vertical.vue +26 -26
  266. package/docs/examples/slider-captcha/basic.vue +44 -44
  267. package/docs/examples/slider-captcha/custom.vue +48 -48
  268. package/docs/examples/switch/basic.vue +16 -16
  269. package/docs/examples/switch/disabled.vue +13 -13
  270. package/docs/examples/switch/loading.vue +13 -13
  271. package/docs/examples/switch/size.vue +15 -15
  272. package/docs/examples/switch/text.vue +13 -13
  273. package/docs/examples/table/actions.vue +116 -116
  274. package/docs/examples/table/add-row.vue +103 -103
  275. package/docs/examples/table/basic.vue +168 -168
  276. package/docs/examples/table/custom-layout.vue +115 -115
  277. package/docs/examples/table/editable.vue +262 -262
  278. package/docs/examples/table/field-selection.vue +87 -87
  279. package/docs/examples/table/frozen-column.vue +140 -140
  280. package/docs/examples/table/height-mode.vue +99 -99
  281. package/docs/examples/table/icon.vue +85 -85
  282. package/docs/examples/table/link.vue +66 -66
  283. package/docs/examples/table/multiple.vue +178 -178
  284. package/docs/examples/table/pagination.vue +151 -151
  285. package/docs/examples/table/single-selection.vue +64 -64
  286. package/docs/examples/table/sub-table-lazy.vue +97 -97
  287. package/docs/examples/table/sub-table.vue +103 -103
  288. package/docs/examples/table/tag.vue +43 -43
  289. package/docs/examples/table/tree-column.vue +119 -119
  290. package/docs/examples/table/tree-data.vue +141 -141
  291. package/docs/examples/table/tree-lazy.vue +80 -80
  292. package/docs/examples/table-panel/basic.vue +228 -228
  293. package/docs/examples/table-panel/batch-operations.vue +285 -285
  294. package/docs/examples/table-panel/filter.vue +219 -219
  295. package/docs/examples/table-panel/multiple-selection.vue +243 -243
  296. package/docs/examples/table-panel/pagination.vue +133 -133
  297. package/docs/examples/table-panel/sub-table-lazy.vue +118 -118
  298. package/docs/examples/tabs/basic.vue +98 -98
  299. package/docs/examples/title/basic.vue +80 -80
  300. package/docs/examples/tree/accordion.vue +46 -46
  301. package/docs/examples/tree/basic.vue +50 -50
  302. package/docs/examples/tree/buttons.vue +53 -53
  303. package/docs/examples/tree/checkable.vue +52 -52
  304. package/docs/examples/tree/custom-keys.vue +39 -39
  305. package/docs/examples/tree/default-expanded.vue +52 -52
  306. package/docs/examples/tree/draggable.vue +29 -29
  307. package/docs/examples/tree/expand-on-click.vue +39 -39
  308. package/docs/examples/tree/flat-data.vue +20 -20
  309. package/docs/examples/tree/icon.vue +40 -40
  310. package/docs/examples/tree/load-data.vue +37 -37
  311. package/docs/examples/tree/methods.vue +74 -74
  312. package/docs/examples/tree/theme.vue +33 -33
  313. package/docs/examples/upload/accept.vue +31 -31
  314. package/docs/examples/upload/basic.vue +12 -12
  315. package/docs/examples/upload/drag.vue +11 -11
  316. package/docs/examples/upload/image.vue +17 -17
  317. package/docs/examples/upload/limit.vue +20 -20
  318. package/docs/examples/upload/multiple.vue +17 -17
  319. package/docs/examples/upload/readonly.vue +17 -17
  320. package/docs/examples/utils/cipher.vue +160 -160
  321. package/docs/examples/utils/common.vue +153 -153
  322. package/docs/examples/utils/date.vue +56 -56
  323. package/docs/examples/utils/dom.vue +52 -52
  324. package/docs/examples/utils/is.vue +70 -70
  325. package/docs/examples/workflow/basic.vue +265 -265
  326. package/docs/examples/workflow-viewer/basic.vue +248 -248
  327. 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>