@a2simcode/ui 0.0.112 → 0.0.114

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