@a2simcode/ui 0.0.106 → 0.0.108

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 (336) 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/autocomplete/index.d.ts +12 -0
  6. package/dist/components/autocomplete/src/autocomplete.vue.d.ts +13 -1
  7. package/dist/components/count/index.d.ts +3 -3
  8. package/dist/components/count/src/count.vue.d.ts +1 -1
  9. package/dist/components/input-layer/index.d.ts +54 -0
  10. package/dist/components/input-layer/src/input-layer.vue.d.ts +54 -0
  11. package/dist/components/table-panel/index.d.ts +81 -0
  12. package/dist/components/table-panel/src/table-panel.vue.d.ts +48 -0
  13. package/dist/simcode-ui.es.js +2948 -2919
  14. package/dist/simcode-ui.umd.js +2 -2
  15. package/dist/stats.html +1 -1
  16. package/dist/ui.css +1 -1
  17. package/docs/components/autocomplete.md +89 -89
  18. package/docs/components/barcode.md +101 -101
  19. package/docs/components/button-select.md +24 -24
  20. package/docs/components/button.md +117 -117
  21. package/docs/components/buttons.md +119 -119
  22. package/docs/components/cascader-select.md +114 -114
  23. package/docs/components/checkbox.md +114 -114
  24. package/docs/components/code-mirror.md +85 -85
  25. package/docs/components/collapse.md +26 -26
  26. package/docs/components/comp.md +71 -71
  27. package/docs/components/count-up.md +24 -24
  28. package/docs/components/count.md +24 -24
  29. package/docs/components/data-panel.md +24 -24
  30. package/docs/components/date.md +76 -76
  31. package/docs/components/dialog-full.md +112 -112
  32. package/docs/components/dialog.md +127 -127
  33. package/docs/components/divider.md +24 -24
  34. package/docs/components/drawer.md +127 -127
  35. package/docs/components/dynamic-layer.md +118 -118
  36. package/docs/components/echarts.md +72 -72
  37. package/docs/components/editor.md +24 -24
  38. package/docs/components/form.md +27 -27
  39. package/docs/components/guid.md +39 -39
  40. package/docs/components/hpanel.md +24 -24
  41. package/docs/components/icon.md +56 -56
  42. package/docs/components/input-button.md +24 -24
  43. package/docs/components/input-code.md +24 -24
  44. package/docs/components/input-color.md +114 -114
  45. package/docs/components/input-layer.md +26 -26
  46. package/docs/components/input-rows.md +370 -370
  47. package/docs/components/input-tag.md +50 -50
  48. package/docs/components/input.md +129 -129
  49. package/docs/components/layer-form.md +61 -61
  50. package/docs/components/layer.md +127 -127
  51. package/docs/components/layout.md +132 -132
  52. package/docs/components/map.md +24 -24
  53. package/docs/components/menu.md +121 -121
  54. package/docs/components/meta/autocomplete.ts +35 -2
  55. package/docs/components/meta/buttons.ts +76 -76
  56. package/docs/components/meta/comp.ts +236 -236
  57. package/docs/components/meta/date.ts +256 -256
  58. package/docs/components/meta/echarts.ts +64 -64
  59. package/docs/components/meta/form.ts +165 -165
  60. package/docs/components/meta/input-cards.ts +112 -112
  61. package/docs/components/meta/input-color.ts +243 -243
  62. package/docs/components/meta/input-rows.ts +113 -113
  63. package/docs/components/meta/layer-form.ts +56 -56
  64. package/docs/components/meta/map.ts +68 -68
  65. package/docs/components/meta/panel.ts +152 -152
  66. package/docs/components/meta/slider.ts +270 -270
  67. package/docs/components/meta/table-panel.ts +220 -220
  68. package/docs/components/meta/table.ts +380 -380
  69. package/docs/components/meta/tabs.ts +146 -146
  70. package/docs/components/meta/tree-select.ts +199 -199
  71. package/docs/components/meta/workflow-viewer.ts +55 -55
  72. package/docs/components/number.md +124 -124
  73. package/docs/components/page.md +87 -87
  74. package/docs/components/panel.md +37 -37
  75. package/docs/components/radio.md +87 -87
  76. package/docs/components/rate.md +71 -71
  77. package/docs/components/select.md +133 -133
  78. package/docs/components/slider-captcha.md +41 -41
  79. package/docs/components/slider.md +101 -101
  80. package/docs/components/switch.md +90 -90
  81. package/docs/components/table-panel.md +236 -236
  82. package/docs/components/table.md +378 -378
  83. package/docs/components/tabs.md +26 -26
  84. package/docs/components/title.md +24 -24
  85. package/docs/components/tree.md +207 -207
  86. package/docs/components/upload.md +117 -117
  87. package/docs/components/workflow-viewer.md +21 -21
  88. package/docs/components/workflow.md +21 -21
  89. package/docs/examples/autocomplete/advanced.vue +35 -35
  90. package/docs/examples/autocomplete/basic.vue +32 -32
  91. package/docs/examples/autocomplete/clearable.vue +33 -33
  92. package/docs/examples/autocomplete/custom-template.vue +49 -49
  93. package/docs/examples/autocomplete/disabled.vue +33 -33
  94. package/docs/examples/autocomplete/icon.vue +37 -37
  95. package/docs/examples/barcode/all-types.vue +380 -380
  96. package/docs/examples/barcode/basic.vue +14 -14
  97. package/docs/examples/barcode/props-appearance.vue +243 -243
  98. package/docs/examples/barcode/props-geometry.vue +143 -143
  99. package/docs/examples/barcode/props-logic.vue +216 -216
  100. package/docs/examples/barcode/props-symbology.vue +199 -199
  101. package/docs/examples/barcode/props-text.vue +268 -268
  102. package/docs/examples/button/basic.vue +7 -7
  103. package/docs/examples/button/danger-ghost.vue +17 -17
  104. package/docs/examples/button/disabled.vue +10 -10
  105. package/docs/examples/button/loading.vue +6 -6
  106. package/docs/examples/button/shape.vue +7 -7
  107. package/docs/examples/button/size.vue +14 -14
  108. package/docs/examples/button/type.vue +9 -9
  109. package/docs/examples/button-select/basic.vue +19 -19
  110. package/docs/examples/buttons/basic.vue +45 -45
  111. package/docs/examples/buttons/disabled.vue +36 -36
  112. package/docs/examples/buttons/dropdown.vue +63 -63
  113. package/docs/examples/buttons/group.vue +52 -52
  114. package/docs/examples/buttons/link.vue +47 -47
  115. package/docs/examples/buttons/popup.vue +39 -39
  116. package/docs/examples/buttons/size.vue +45 -45
  117. package/docs/examples/cascader-select/basic.vue +28 -28
  118. package/docs/examples/cascader-select/clearable.vue +34 -34
  119. package/docs/examples/cascader-select/disabled.vue +43 -43
  120. package/docs/examples/cascader-select/filterable.vue +37 -37
  121. package/docs/examples/cascader-select/methods.vue +84 -84
  122. package/docs/examples/cascader-select/multiple.vue +38 -38
  123. package/docs/examples/cascader-select/slot.vue +45 -45
  124. package/docs/examples/checkbox/basic.vue +18 -18
  125. package/docs/examples/checkbox/button.vue +19 -19
  126. package/docs/examples/checkbox/color.vue +25 -25
  127. package/docs/examples/checkbox/disabled.vue +17 -17
  128. package/docs/examples/checkbox/min-max.vue +20 -20
  129. package/docs/examples/checkbox/mixed.vue +56 -56
  130. package/docs/examples/checkbox/size.vue +28 -28
  131. package/docs/examples/code-mirror/basic.vue +11 -11
  132. package/docs/examples/code-mirror/events.vue +42 -42
  133. package/docs/examples/code-mirror/height.vue +25 -25
  134. package/docs/examples/code-mirror/mode.vue +33 -33
  135. package/docs/examples/code-mirror/readonly.vue +14 -14
  136. package/docs/examples/collapse/basic.vue +82 -82
  137. package/docs/examples/comp/basic.vue +7 -7
  138. package/docs/examples/comp/collapse.vue +38 -38
  139. package/docs/examples/comp/tabs.vue +38 -38
  140. package/docs/examples/count/basic.vue +101 -101
  141. package/docs/examples/count-up/basic.vue +89 -89
  142. package/docs/examples/data-panel/basic.vue +110 -110
  143. package/docs/examples/date/basic.vue +73 -73
  144. package/docs/examples/date/default-value.vue +59 -59
  145. package/docs/examples/date/format.vue +75 -75
  146. package/docs/examples/date/range.vue +66 -66
  147. package/docs/examples/date/types.vue +79 -79
  148. package/docs/examples/dialog/basic.vue +36 -36
  149. package/docs/examples/dialog/custom-buttons.vue +44 -44
  150. package/docs/examples/dialog/fullscreen.vue +23 -23
  151. package/docs/examples/dialog/no-mask.vue +17 -17
  152. package/docs/examples/dialog/size.vue +44 -44
  153. package/docs/examples/dialog/steps.vue +57 -57
  154. package/docs/examples/dialog-full/basic.vue +29 -29
  155. package/docs/examples/dialog-full/custom-buttons.vue +45 -45
  156. package/docs/examples/dialog-full/no-buttons.vue +18 -18
  157. package/docs/examples/dialog-full/no-header.vue +27 -27
  158. package/docs/examples/dialog-full/steps.vue +71 -71
  159. package/docs/examples/divider/basic.vue +52 -52
  160. package/docs/examples/drawer/basic.vue +35 -35
  161. package/docs/examples/drawer/custom-buttons.vue +34 -34
  162. package/docs/examples/drawer/direction.vue +47 -47
  163. package/docs/examples/drawer/mask.vue +36 -36
  164. package/docs/examples/drawer/no-buttons.vue +20 -20
  165. package/docs/examples/drawer/size.vue +28 -28
  166. package/docs/examples/dynamic-layer/basic.vue +33 -33
  167. package/docs/examples/dynamic-layer/custom-buttons.vue +43 -43
  168. package/docs/examples/dynamic-layer/form.vue +73 -73
  169. package/docs/examples/dynamic-layer/steps.vue +52 -52
  170. package/docs/examples/dynamic-layer/types.vue +40 -40
  171. package/docs/examples/echarts/basic.vue +31 -31
  172. package/docs/examples/echarts/dynamic.vue +43 -43
  173. package/docs/examples/echarts/line.vue +46 -46
  174. package/docs/examples/echarts/pie.vue +44 -44
  175. package/docs/examples/editor/basic.vue +15 -15
  176. package/docs/examples/form/basic.vue +459 -456
  177. package/docs/examples/guid/basic.vue +10 -10
  178. package/docs/examples/guid/size.vue +13 -13
  179. package/docs/examples/hpanel/basic.vue +79 -79
  180. package/docs/examples/icon/basic.vue +9 -9
  181. package/docs/examples/icon/rotate-flip.vue +9 -9
  182. package/docs/examples/icon/size.vue +7 -7
  183. package/docs/examples/input/basic.vue +10 -10
  184. package/docs/examples/input/clearable.vue +12 -12
  185. package/docs/examples/input/disabled.vue +6 -6
  186. package/docs/examples/input/icon.vue +23 -23
  187. package/docs/examples/input/password.vue +18 -18
  188. package/docs/examples/input/size.vue +13 -13
  189. package/docs/examples/input/textarea.vue +25 -25
  190. package/docs/examples/input/word-limit.vue +28 -28
  191. package/docs/examples/input-button/basic.vue +33 -33
  192. package/docs/examples/input-code/basic.vue +29 -29
  193. package/docs/examples/input-color/basic.vue +10 -10
  194. package/docs/examples/input-color/disabled.vue +13 -13
  195. package/docs/examples/input-color/format.vue +17 -17
  196. package/docs/examples/input-color/no-alpha.vue +13 -13
  197. package/docs/examples/input-color/only-button.vue +15 -15
  198. package/docs/examples/input-color/predefine.vue +31 -31
  199. package/docs/examples/input-color/size.vue +15 -15
  200. package/docs/examples/input-layer/basic.vue +69 -69
  201. package/docs/examples/input-rows/basic.vue +73 -73
  202. package/docs/examples/input-rows/drag.vue +48 -48
  203. package/docs/examples/input-rows/layer-form.vue +85 -85
  204. package/docs/examples/input-rows/nested.vue +91 -91
  205. package/docs/examples/input-tag/basic.vue +27 -27
  206. package/docs/examples/input-tag/colors.vue +23 -23
  207. package/docs/examples/input-tag/readonly.vue +17 -17
  208. package/docs/examples/layer/basic.vue +43 -43
  209. package/docs/examples/layer/custom-buttons.vue +61 -61
  210. package/docs/examples/layer/drawer.vue +37 -37
  211. package/docs/examples/layer/full.vue +38 -38
  212. package/docs/examples/layer/modal.vue +34 -34
  213. package/docs/examples/layer/steps.vue +46 -46
  214. package/docs/examples/layer-form/basic.vue +76 -76
  215. package/docs/examples/layer-form/config.vue +82 -82
  216. package/docs/examples/layer-form/size.vue +72 -72
  217. package/docs/examples/layout/basic.vue +36 -36
  218. package/docs/examples/layout/custom-size.vue +50 -50
  219. package/docs/examples/layout/disable-move.vue +37 -37
  220. package/docs/examples/layout/hide-mid-when-narrow.vue +96 -96
  221. package/docs/examples/layout/min-size.vue +73 -73
  222. package/docs/examples/layout/percent-size.vue +80 -80
  223. package/docs/examples/layout/simple.vue +22 -22
  224. package/docs/examples/layout/top-side.vue +34 -34
  225. package/docs/examples/map/basic.vue +22 -22
  226. package/docs/examples/menu/basic.vue +58 -58
  227. package/docs/examples/menu/collapsed.vue +49 -49
  228. package/docs/examples/menu/horizontal.vue +44 -44
  229. package/docs/examples/menu/selection-test.vue +104 -104
  230. package/docs/examples/menu/theme.vue +46 -46
  231. package/docs/examples/menu/vertical.vue +46 -46
  232. package/docs/examples/number/advanced.vue +143 -143
  233. package/docs/examples/number/basic.vue +63 -63
  234. package/docs/examples/number/disabled.vue +49 -49
  235. package/docs/examples/number/size.vue +42 -42
  236. package/docs/examples/number/slots.vue +123 -123
  237. package/docs/examples/number/step-strictly.vue +41 -41
  238. package/docs/examples/number/step.vue +47 -47
  239. package/docs/examples/page/basic.vue +41 -41
  240. package/docs/examples/page/dept-user-management.vue +211 -211
  241. package/docs/examples/page/init.vue +87 -87
  242. package/docs/examples/page/log.vue +453 -453
  243. package/docs/examples/page/user-management.vue +313 -313
  244. package/docs/examples/panel/tool-buttons.vue +18 -18
  245. package/docs/examples/radio/basic.vue +17 -17
  246. package/docs/examples/radio/button.vue +17 -17
  247. package/docs/examples/radio/color.vue +18 -18
  248. package/docs/examples/radio/disabled.vue +17 -17
  249. package/docs/examples/radio/size.vue +29 -29
  250. package/docs/examples/rate/basic.vue +24 -24
  251. package/docs/examples/rate/half.vue +24 -24
  252. package/docs/examples/rate/readonly.vue +11 -11
  253. package/docs/examples/rate/text.vue +32 -32
  254. package/docs/examples/select/basic.vue +16 -16
  255. package/docs/examples/select/clearable.vue +22 -22
  256. package/docs/examples/select/disabled.vue +31 -31
  257. package/docs/examples/select/filterable.vue +24 -24
  258. package/docs/examples/select/group.vue +23 -23
  259. package/docs/examples/select/icon.vue +16 -16
  260. package/docs/examples/select/multiple.vue +18 -18
  261. package/docs/examples/select/size.vue +39 -39
  262. package/docs/examples/slider/basic.vue +42 -42
  263. package/docs/examples/slider/disabled.vue +17 -17
  264. package/docs/examples/slider/marks.vue +30 -30
  265. package/docs/examples/slider/size.vue +37 -37
  266. package/docs/examples/slider/tooltip.vue +36 -36
  267. package/docs/examples/slider/vertical.vue +26 -26
  268. package/docs/examples/slider-captcha/basic.vue +44 -44
  269. package/docs/examples/slider-captcha/custom.vue +48 -48
  270. package/docs/examples/switch/basic.vue +16 -16
  271. package/docs/examples/switch/disabled.vue +13 -13
  272. package/docs/examples/switch/loading.vue +13 -13
  273. package/docs/examples/switch/size.vue +15 -15
  274. package/docs/examples/switch/text.vue +13 -13
  275. package/docs/examples/table/action-filter.vue +126 -126
  276. package/docs/examples/table/actions.vue +116 -116
  277. package/docs/examples/table/add-row.vue +103 -103
  278. package/docs/examples/table/basic.vue +168 -168
  279. package/docs/examples/table/checkbox-layout.vue +68 -68
  280. package/docs/examples/table/custom-layout.vue +115 -115
  281. package/docs/examples/table/editable.vue +262 -262
  282. package/docs/examples/table/field-selection.vue +87 -87
  283. package/docs/examples/table/frozen-column.vue +140 -140
  284. package/docs/examples/table/height-mode.vue +99 -99
  285. package/docs/examples/table/icon.vue +85 -85
  286. package/docs/examples/table/link.vue +66 -66
  287. package/docs/examples/table/multiple.vue +178 -178
  288. package/docs/examples/table/pagination.vue +151 -151
  289. package/docs/examples/table/single-selection.vue +64 -64
  290. package/docs/examples/table/sub-table-lazy.vue +97 -97
  291. package/docs/examples/table/sub-table.vue +103 -103
  292. package/docs/examples/table/tag.vue +43 -43
  293. package/docs/examples/table/tree-column.vue +119 -119
  294. package/docs/examples/table/tree-data.vue +141 -141
  295. package/docs/examples/table/tree-default-expand-all.vue +60 -60
  296. package/docs/examples/table/tree-lazy.vue +80 -80
  297. package/docs/examples/table/tree-set-selection.vue +75 -75
  298. package/docs/examples/table-panel/basic.vue +228 -228
  299. package/docs/examples/table-panel/batch-operations.vue +285 -285
  300. package/docs/examples/table-panel/button-visibility.vue +88 -88
  301. package/docs/examples/table-panel/filter.vue +219 -219
  302. package/docs/examples/table-panel/get-selection.vue +111 -111
  303. package/docs/examples/table-panel/multiple-selection.vue +243 -243
  304. package/docs/examples/table-panel/pagination.vue +133 -133
  305. package/docs/examples/table-panel/sub-table-lazy.vue +118 -118
  306. package/docs/examples/table-panel/tree-parent-key.vue +67 -67
  307. package/docs/examples/tabs/basic.vue +98 -98
  308. package/docs/examples/title/basic.vue +80 -80
  309. package/docs/examples/tree/accordion.vue +46 -46
  310. package/docs/examples/tree/basic.vue +50 -50
  311. package/docs/examples/tree/buttons.vue +53 -53
  312. package/docs/examples/tree/checkable.vue +52 -52
  313. package/docs/examples/tree/custom-keys.vue +39 -39
  314. package/docs/examples/tree/default-expanded.vue +52 -52
  315. package/docs/examples/tree/draggable.vue +29 -29
  316. package/docs/examples/tree/expand-on-click.vue +39 -39
  317. package/docs/examples/tree/flat-data.vue +20 -20
  318. package/docs/examples/tree/icon.vue +40 -40
  319. package/docs/examples/tree/load-data.vue +37 -37
  320. package/docs/examples/tree/methods.vue +74 -74
  321. package/docs/examples/tree/theme.vue +33 -33
  322. package/docs/examples/upload/accept.vue +31 -31
  323. package/docs/examples/upload/basic.vue +12 -12
  324. package/docs/examples/upload/drag.vue +11 -11
  325. package/docs/examples/upload/image.vue +17 -17
  326. package/docs/examples/upload/limit.vue +20 -20
  327. package/docs/examples/upload/multiple.vue +17 -17
  328. package/docs/examples/upload/readonly.vue +17 -17
  329. package/docs/examples/utils/cipher.vue +160 -160
  330. package/docs/examples/utils/common.vue +153 -153
  331. package/docs/examples/utils/date.vue +56 -56
  332. package/docs/examples/utils/dom.vue +52 -52
  333. package/docs/examples/utils/is.vue +70 -70
  334. package/docs/examples/workflow/basic.vue +265 -265
  335. package/docs/examples/workflow-viewer/basic.vue +248 -248
  336. package/package.json +23 -23
@@ -1,124 +1,124 @@
1
- # Number 计数器
2
-
3
- 仅允许输入标准的数字值,可定义范围和步长。
4
-
5
- ## 基础用法
6
-
7
- <Demo :source-code="numberBasicCode">
8
- <template #source>
9
- <number-basic />
10
- </template>
11
- <template #description>
12
- 使用 v-model 实现双向数据绑定。
13
- </template>
14
- </Demo>
15
-
16
- ## 不同尺寸
17
-
18
- Number 组件提供三种尺寸。
19
-
20
- <Demo :source-code="numberSizeCode">
21
- <template #source>
22
- <number-size />
23
- </template>
24
- <template #description>
25
- 使用 size 属性改变计数器大小。除了默认大小外,还有另外两个选项: large, small。
26
- </template>
27
- </Demo>
28
-
29
- ## 步长
30
-
31
- 使用 `step` 属性定义计数器的步长。
32
-
33
- <Demo :source-code="numberStepCode">
34
- <template #source>
35
- <number-step />
36
- </template>
37
- <template #description>
38
- 通过 step 属性设置计数器的步长。
39
- </template>
40
- </Demo>
41
-
42
- ## 严格步长
43
-
44
- 使用 `step-strictly` 属性确保输入值只能是 step 的倍数。
45
-
46
- <Demo :source-code="numberStepStrictlyCode">
47
- <template #source>
48
- <number-step-strictly />
49
- </template>
50
- <template #description>
51
- 设置 `step-strictly` 属性为 `true` 时,输入值必须是 step 的倍数。
52
- </template>
53
- </Demo>
54
-
55
- ## 禁用
56
-
57
- 通过 `disabled` 和 `readonly` 属性指定计数器的状态。
58
-
59
- <Demo :source-code="numberDisabledCode">
60
- <template #source>
61
- <number-disabled />
62
- </template>
63
- <template #description>
64
- 通过 disabled 属性指定是否禁用 number 组件,通过 readonly 属性指定是否只读。
65
- </template>
66
- </Demo>
67
-
68
- ## 图标、前后缀
69
-
70
- 可自定义计数器的前缀、后缀和按钮图标。Number 组件支持多种自定义方式:
71
-
72
- - **插槽方式**:使用 `prefix` 和 `suffix` 插槽可以插入复杂内容
73
- - **属性方式**:使用 `prefix`、`suffix`、`decrease-icon`、`increase-icon` 属性可以设置简单内容(支持字符串形式的图标名称)
74
- - **控制按钮位置**:使用 `controls-position` 属性可以调整按钮位置
75
-
76
- <Demo :source-code="numberSlotsCode">
77
- <template #source>
78
- <number-slots />
79
- </template>
80
- <template #description>
81
- 通过 `prefix` 和 `suffix` 插槽添加前缀/后缀内容,通过 `decrease-icon` 和 `increase-icon` 属性自定义按钮图标。
82
- </template>
83
- </Demo>
84
-
85
- ## 高级用法
86
-
87
- Number 组件还提供了以下高级功能,满足更多定制化需求:
88
-
89
- - **精度控制**:使用 `precision` 属性精确控制数值的小数位数
90
- - **控制按钮**:使用 `controls` 属性控制是否显示增加/减少按钮
91
- - **文本对齐**:使用 `align` 属性设置输入框内文本的对齐方式
92
- - **禁用科学计数法**:使用 `disabled-scientific` 属性防止用户输入科学计数法
93
- - **其他属性**:包括 `placeholder`、`aria-label`、`inputmode`、`value-on-clear` 等
94
-
95
- <Demo :source-code="numberAdvancedCode">
96
- <template #source>
97
- <number-advanced />
98
- </template>
99
- <template #description>
100
- 展示了 `precision`、`controls`、`align`、`disabled-scientific` 等高级属性的用法。
101
- </template>
102
- </Demo>
103
-
104
- ## API
105
-
106
- <ApiTable :data="numberApi" componentName="number" />
107
-
108
- <script setup>
109
- import NumberBasic from '../examples/number/basic.vue'
110
- import NumberSize from '../examples/number/size.vue'
111
- import NumberStep from '../examples/number/step.vue'
112
- import NumberStepStrictly from '../examples/number/step-strictly.vue'
113
- import NumberDisabled from '../examples/number/disabled.vue'
114
- import NumberSlots from '../examples/number/slots.vue'
115
- import NumberAdvanced from '../examples/number/advanced.vue'
116
- import numberApi from './meta/number'
117
- import numberBasicCode from '../examples/number/basic.vue?raw'
118
- import numberSizeCode from '../examples/number/size.vue?raw'
119
- import numberStepCode from '../examples/number/step.vue?raw'
120
- import numberStepStrictlyCode from '../examples/number/step-strictly.vue?raw'
121
- import numberDisabledCode from '../examples/number/disabled.vue?raw'
122
- import numberSlotsCode from '../examples/number/slots.vue?raw'
123
- import numberAdvancedCode from '../examples/number/advanced.vue?raw'
124
- </script>
1
+ # Number 计数器
2
+
3
+ 仅允许输入标准的数字值,可定义范围和步长。
4
+
5
+ ## 基础用法
6
+
7
+ <Demo :source-code="numberBasicCode">
8
+ <template #source>
9
+ <number-basic />
10
+ </template>
11
+ <template #description>
12
+ 使用 v-model 实现双向数据绑定。
13
+ </template>
14
+ </Demo>
15
+
16
+ ## 不同尺寸
17
+
18
+ Number 组件提供三种尺寸。
19
+
20
+ <Demo :source-code="numberSizeCode">
21
+ <template #source>
22
+ <number-size />
23
+ </template>
24
+ <template #description>
25
+ 使用 size 属性改变计数器大小。除了默认大小外,还有另外两个选项: large, small。
26
+ </template>
27
+ </Demo>
28
+
29
+ ## 步长
30
+
31
+ 使用 `step` 属性定义计数器的步长。
32
+
33
+ <Demo :source-code="numberStepCode">
34
+ <template #source>
35
+ <number-step />
36
+ </template>
37
+ <template #description>
38
+ 通过 step 属性设置计数器的步长。
39
+ </template>
40
+ </Demo>
41
+
42
+ ## 严格步长
43
+
44
+ 使用 `step-strictly` 属性确保输入值只能是 step 的倍数。
45
+
46
+ <Demo :source-code="numberStepStrictlyCode">
47
+ <template #source>
48
+ <number-step-strictly />
49
+ </template>
50
+ <template #description>
51
+ 设置 `step-strictly` 属性为 `true` 时,输入值必须是 step 的倍数。
52
+ </template>
53
+ </Demo>
54
+
55
+ ## 禁用
56
+
57
+ 通过 `disabled` 和 `readonly` 属性指定计数器的状态。
58
+
59
+ <Demo :source-code="numberDisabledCode">
60
+ <template #source>
61
+ <number-disabled />
62
+ </template>
63
+ <template #description>
64
+ 通过 disabled 属性指定是否禁用 number 组件,通过 readonly 属性指定是否只读。
65
+ </template>
66
+ </Demo>
67
+
68
+ ## 图标、前后缀
69
+
70
+ 可自定义计数器的前缀、后缀和按钮图标。Number 组件支持多种自定义方式:
71
+
72
+ - **插槽方式**:使用 `prefix` 和 `suffix` 插槽可以插入复杂内容
73
+ - **属性方式**:使用 `prefix`、`suffix`、`decrease-icon`、`increase-icon` 属性可以设置简单内容(支持字符串形式的图标名称)
74
+ - **控制按钮位置**:使用 `controls-position` 属性可以调整按钮位置
75
+
76
+ <Demo :source-code="numberSlotsCode">
77
+ <template #source>
78
+ <number-slots />
79
+ </template>
80
+ <template #description>
81
+ 通过 `prefix` 和 `suffix` 插槽添加前缀/后缀内容,通过 `decrease-icon` 和 `increase-icon` 属性自定义按钮图标。
82
+ </template>
83
+ </Demo>
84
+
85
+ ## 高级用法
86
+
87
+ Number 组件还提供了以下高级功能,满足更多定制化需求:
88
+
89
+ - **精度控制**:使用 `precision` 属性精确控制数值的小数位数
90
+ - **控制按钮**:使用 `controls` 属性控制是否显示增加/减少按钮
91
+ - **文本对齐**:使用 `align` 属性设置输入框内文本的对齐方式
92
+ - **禁用科学计数法**:使用 `disabled-scientific` 属性防止用户输入科学计数法
93
+ - **其他属性**:包括 `placeholder`、`aria-label`、`inputmode`、`value-on-clear` 等
94
+
95
+ <Demo :source-code="numberAdvancedCode">
96
+ <template #source>
97
+ <number-advanced />
98
+ </template>
99
+ <template #description>
100
+ 展示了 `precision`、`controls`、`align`、`disabled-scientific` 等高级属性的用法。
101
+ </template>
102
+ </Demo>
103
+
104
+ ## API
105
+
106
+ <ApiTable :data="numberApi" componentName="number" />
107
+
108
+ <script setup>
109
+ import NumberBasic from '../examples/number/basic.vue'
110
+ import NumberSize from '../examples/number/size.vue'
111
+ import NumberStep from '../examples/number/step.vue'
112
+ import NumberStepStrictly from '../examples/number/step-strictly.vue'
113
+ import NumberDisabled from '../examples/number/disabled.vue'
114
+ import NumberSlots from '../examples/number/slots.vue'
115
+ import NumberAdvanced from '../examples/number/advanced.vue'
116
+ import numberApi from './meta/number'
117
+ import numberBasicCode from '../examples/number/basic.vue?raw'
118
+ import numberSizeCode from '../examples/number/size.vue?raw'
119
+ import numberStepCode from '../examples/number/step.vue?raw'
120
+ import numberStepStrictlyCode from '../examples/number/step-strictly.vue?raw'
121
+ import numberDisabledCode from '../examples/number/disabled.vue?raw'
122
+ import numberSlotsCode from '../examples/number/slots.vue?raw'
123
+ import numberAdvancedCode from '../examples/number/advanced.vue?raw'
124
+ </script>
@@ -1,87 +1,87 @@
1
- # Page 页面
2
-
3
- 基于 Schema 的页面渲染组件,通过 JSON 配置动态渲染组件树。
4
-
5
- ## 基础用法
6
-
7
- 通过 Schema 配置渲染页面组件。
8
-
9
- <Demo :source-code="pageBasicCode">
10
- <template #source>
11
- <page-basic />
12
- </template>
13
- <template #description>
14
- 通过 `schema` 属性配置组件树,支持嵌套子组件,动态渲染整个页面结构。
15
- </template>
16
- </Demo>
17
-
18
- ## 使用 init 方法初始化
19
-
20
- 通过组件实例的 `init` 方法动态初始化 Schema。
21
-
22
- <Demo :source-code="pageInitCode">
23
- <template #source>
24
- <page-init />
25
- </template>
26
- <template #description>
27
- 通过 `ref` 获取组件实例,调用 `init` 方法可以动态设置或更新页面的 Schema 配置。
28
- </template>
29
- </Demo>
30
-
31
- ## 日志页面示例
32
-
33
- 结合 Table Panel 的复杂页面示例。
34
-
35
- <Demo :source-code="pageLogCode">
36
- <template #source>
37
- <page-log />
38
- </template>
39
- <template #description>
40
- 展示了如何使用 `j-page` 配置一个包含表格、弹窗和自定义逻辑的完整页面。
41
- </template>
42
- </Demo>
43
-
44
- ## 用户管理页面示例
45
-
46
- 参考业务项目中的写法,展示了如何在 `j-page` 内嵌 `j-table-panel`,并完成“新增 / 编辑 / 重置密码 / 删除 / 状态开关”等常见交互。
47
-
48
- <Demo :source-code="pageUserManagementCode">
49
- <template #source>
50
- <page-user-management />
51
- </template>
52
- <template #description>
53
- 示例使用 Mock 数据模拟分页接口,并通过 `openLayer` 打开表单弹窗;保存/删除后通过 `j-page.call('mainTable','refreshData')` 刷新表格。
54
- </template>
55
- </Demo>
56
-
57
- ## 部门-用户联动示例
58
-
59
- 参考业务项目中常见的“左侧列表 / 右侧列表”的联动写法:点击左侧部门,触发 `onSelect` 更新筛选条件,并通过 `j-page.call('userTable','resetData')` 刷新右侧分页表格。
60
-
61
- <Demo :source-code="pageDeptUserManagementCode">
62
- <template #source>
63
- <page-dept-user-management />
64
- </template>
65
- <template #description>
66
- 左侧使用 `j-table-panel`(不分页)展示部门;右侧使用 `j-table-panel`(分页)展示用户,并提供“全部用户 / 刷新”等常用按钮。
67
- </template>
68
- </Demo>
69
-
70
- ## API
71
-
72
- <ApiTable :data="pageApi" componentName="page" />
73
-
74
- <script setup>
75
- import PageBasic from '../examples/page/basic.vue'
76
- import PageInit from '../examples/page/init.vue'
77
- import PageLog from '../examples/page/log.vue'
78
- import PageUserManagement from '../examples/page/user-management.vue'
79
- import PageDeptUserManagement from '../examples/page/dept-user-management.vue'
80
- import pageApi from './meta/page'
81
-
82
- import pageBasicCode from '../examples/page/basic.vue?raw'
83
- import pageInitCode from '../examples/page/init.vue?raw'
84
- import pageLogCode from '../examples/page/log.vue?raw'
85
- import pageUserManagementCode from '../examples/page/user-management.vue?raw'
86
- import pageDeptUserManagementCode from '../examples/page/dept-user-management.vue?raw'
87
- </script>
1
+ # Page 页面
2
+
3
+ 基于 Schema 的页面渲染组件,通过 JSON 配置动态渲染组件树。
4
+
5
+ ## 基础用法
6
+
7
+ 通过 Schema 配置渲染页面组件。
8
+
9
+ <Demo :source-code="pageBasicCode">
10
+ <template #source>
11
+ <page-basic />
12
+ </template>
13
+ <template #description>
14
+ 通过 `schema` 属性配置组件树,支持嵌套子组件,动态渲染整个页面结构。
15
+ </template>
16
+ </Demo>
17
+
18
+ ## 使用 init 方法初始化
19
+
20
+ 通过组件实例的 `init` 方法动态初始化 Schema。
21
+
22
+ <Demo :source-code="pageInitCode">
23
+ <template #source>
24
+ <page-init />
25
+ </template>
26
+ <template #description>
27
+ 通过 `ref` 获取组件实例,调用 `init` 方法可以动态设置或更新页面的 Schema 配置。
28
+ </template>
29
+ </Demo>
30
+
31
+ ## 日志页面示例
32
+
33
+ 结合 Table Panel 的复杂页面示例。
34
+
35
+ <Demo :source-code="pageLogCode">
36
+ <template #source>
37
+ <page-log />
38
+ </template>
39
+ <template #description>
40
+ 展示了如何使用 `j-page` 配置一个包含表格、弹窗和自定义逻辑的完整页面。
41
+ </template>
42
+ </Demo>
43
+
44
+ ## 用户管理页面示例
45
+
46
+ 参考业务项目中的写法,展示了如何在 `j-page` 内嵌 `j-table-panel`,并完成“新增 / 编辑 / 重置密码 / 删除 / 状态开关”等常见交互。
47
+
48
+ <Demo :source-code="pageUserManagementCode">
49
+ <template #source>
50
+ <page-user-management />
51
+ </template>
52
+ <template #description>
53
+ 示例使用 Mock 数据模拟分页接口,并通过 `openLayer` 打开表单弹窗;保存/删除后通过 `j-page.call('mainTable','refreshData')` 刷新表格。
54
+ </template>
55
+ </Demo>
56
+
57
+ ## 部门-用户联动示例
58
+
59
+ 参考业务项目中常见的“左侧列表 / 右侧列表”的联动写法:点击左侧部门,触发 `onSelect` 更新筛选条件,并通过 `j-page.call('userTable','resetData')` 刷新右侧分页表格。
60
+
61
+ <Demo :source-code="pageDeptUserManagementCode">
62
+ <template #source>
63
+ <page-dept-user-management />
64
+ </template>
65
+ <template #description>
66
+ 左侧使用 `j-table-panel`(不分页)展示部门;右侧使用 `j-table-panel`(分页)展示用户,并提供“全部用户 / 刷新”等常用按钮。
67
+ </template>
68
+ </Demo>
69
+
70
+ ## API
71
+
72
+ <ApiTable :data="pageApi" componentName="page" />
73
+
74
+ <script setup>
75
+ import PageBasic from '../examples/page/basic.vue'
76
+ import PageInit from '../examples/page/init.vue'
77
+ import PageLog from '../examples/page/log.vue'
78
+ import PageUserManagement from '../examples/page/user-management.vue'
79
+ import PageDeptUserManagement from '../examples/page/dept-user-management.vue'
80
+ import pageApi from './meta/page'
81
+
82
+ import pageBasicCode from '../examples/page/basic.vue?raw'
83
+ import pageInitCode from '../examples/page/init.vue?raw'
84
+ import pageLogCode from '../examples/page/log.vue?raw'
85
+ import pageUserManagementCode from '../examples/page/user-management.vue?raw'
86
+ import pageDeptUserManagementCode from '../examples/page/dept-user-management.vue?raw'
87
+ </script>
@@ -1,37 +1,37 @@
1
- # Panel 面板
2
-
3
- 通用的内容面板。
4
-
5
- ## 基础用法
6
-
7
- <Demo :source-code="panelBasicCode">
8
- <template #source>
9
- <panel-basic />
10
- </template>
11
- <template #description>
12
- 最简单的 Panel 用法。
13
- </template>
14
- </Demo>
15
-
16
- ## 操作按钮
17
-
18
- <Demo :source-code="panelToolButtonsCode">
19
- <template #source>
20
- <panel-tool-buttons />
21
- </template>
22
- <template #description>
23
- 通过 `toolBtns` 属性可以在面板头部添加操作按钮。
24
- </template>
25
- </Demo>
26
-
27
- ## API
28
-
29
- <ApiTable :data="panelApi" componentName="panel" />
30
-
31
- <script setup>
32
- import PanelBasic from '../examples/panel/basic.vue'
33
- import panelBasicCode from '../examples/panel/basic.vue?raw'
34
- import panelToolButtons from '../examples/panel/tool-buttons.vue'
35
- import panelToolButtonsCode from '../examples/panel/tool-buttons.vue?raw'
36
- import panelApi from './meta/panel'
37
- </script>
1
+ # Panel 面板
2
+
3
+ 通用的内容面板。
4
+
5
+ ## 基础用法
6
+
7
+ <Demo :source-code="panelBasicCode">
8
+ <template #source>
9
+ <panel-basic />
10
+ </template>
11
+ <template #description>
12
+ 最简单的 Panel 用法。
13
+ </template>
14
+ </Demo>
15
+
16
+ ## 操作按钮
17
+
18
+ <Demo :source-code="panelToolButtonsCode">
19
+ <template #source>
20
+ <panel-tool-buttons />
21
+ </template>
22
+ <template #description>
23
+ 通过 `toolBtns` 属性可以在面板头部添加操作按钮。
24
+ </template>
25
+ </Demo>
26
+
27
+ ## API
28
+
29
+ <ApiTable :data="panelApi" componentName="panel" />
30
+
31
+ <script setup>
32
+ import PanelBasic from '../examples/panel/basic.vue'
33
+ import panelBasicCode from '../examples/panel/basic.vue?raw'
34
+ import panelToolButtons from '../examples/panel/tool-buttons.vue'
35
+ import panelToolButtonsCode from '../examples/panel/tool-buttons.vue?raw'
36
+ import panelApi from './meta/panel'
37
+ </script>