@a2simcode/ui 0.0.176 → 0.0.178

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 (344) 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/simcode-ui.es.js +12 -6
  6. package/dist/simcode-ui.umd.js +2 -2
  7. package/dist/stats.html +1 -1
  8. package/dist/ui.css +1 -1
  9. package/docs/components/autocomplete.md +89 -89
  10. package/docs/components/barcode.md +101 -101
  11. package/docs/components/button-select.md +24 -24
  12. package/docs/components/button.md +117 -117
  13. package/docs/components/buttons.md +119 -119
  14. package/docs/components/cascader-select.md +114 -114
  15. package/docs/components/checkbox.md +114 -114
  16. package/docs/components/code-mirror.md +85 -85
  17. package/docs/components/collapse.md +26 -26
  18. package/docs/components/comp.md +71 -71
  19. package/docs/components/count-up.md +24 -24
  20. package/docs/components/count.md +24 -24
  21. package/docs/components/data-panel.md +24 -24
  22. package/docs/components/date.md +76 -76
  23. package/docs/components/dialog-full.md +112 -112
  24. package/docs/components/dialog.md +127 -127
  25. package/docs/components/divider.md +24 -24
  26. package/docs/components/drawer.md +127 -127
  27. package/docs/components/dynamic-layer.md +118 -118
  28. package/docs/components/echarts.md +72 -72
  29. package/docs/components/editor.md +24 -24
  30. package/docs/components/form.md +72 -72
  31. package/docs/components/guid.md +39 -39
  32. package/docs/components/hpanel.md +24 -24
  33. package/docs/components/icon.md +56 -56
  34. package/docs/components/input-button.md +24 -24
  35. package/docs/components/input-code.md +24 -24
  36. package/docs/components/input-color.md +114 -114
  37. package/docs/components/input-layer.md +26 -26
  38. package/docs/components/input-rows.md +370 -370
  39. package/docs/components/input-tag.md +50 -50
  40. package/docs/components/input.md +129 -129
  41. package/docs/components/layer-form.md +61 -61
  42. package/docs/components/layer.md +127 -127
  43. package/docs/components/layout.md +132 -132
  44. package/docs/components/map.md +24 -24
  45. package/docs/components/menu.md +121 -121
  46. package/docs/components/meta/button.ts +4 -4
  47. package/docs/components/meta/buttons.ts +76 -76
  48. package/docs/components/meta/code-mirror.ts +108 -108
  49. package/docs/components/meta/comp.ts +236 -236
  50. package/docs/components/meta/date.ts +267 -267
  51. package/docs/components/meta/echarts.ts +64 -64
  52. package/docs/components/meta/form-item.ts +50 -50
  53. package/docs/components/meta/form.ts +181 -181
  54. package/docs/components/meta/input-button.ts +2 -2
  55. package/docs/components/meta/input-cards.ts +112 -112
  56. package/docs/components/meta/input-code.ts +2 -2
  57. package/docs/components/meta/input-color.ts +243 -243
  58. package/docs/components/meta/input-layer.ts +366 -366
  59. package/docs/components/meta/input-rows.ts +119 -119
  60. package/docs/components/meta/layer-form.ts +56 -56
  61. package/docs/components/meta/map.ts +68 -68
  62. package/docs/components/meta/panel.ts +152 -152
  63. package/docs/components/meta/slider.ts +270 -270
  64. package/docs/components/meta/table-panel.ts +232 -232
  65. package/docs/components/meta/table.ts +391 -391
  66. package/docs/components/meta/tabs.ts +146 -146
  67. package/docs/components/meta/title.ts +91 -91
  68. package/docs/components/meta/tree-select.ts +199 -199
  69. package/docs/components/meta/tree.ts +219 -219
  70. package/docs/components/meta/vpanel.ts +19 -19
  71. package/docs/components/meta/workflow-viewer.ts +55 -55
  72. package/docs/components/number.md +124 -124
  73. package/docs/components/page.md +102 -102
  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 +391 -391
  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 +10 -10
  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/decorated-title/basic.vue +31 -31
  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 +665 -665
  178. package/docs/examples/form/init.vue +76 -76
  179. package/docs/examples/form/master-detail.vue +203 -203
  180. package/docs/examples/form/rule-format.vue +179 -179
  181. package/docs/examples/guid/basic.vue +10 -10
  182. package/docs/examples/guid/size.vue +13 -13
  183. package/docs/examples/hpanel/basic.vue +79 -79
  184. package/docs/examples/icon/basic.vue +9 -9
  185. package/docs/examples/icon/rotate-flip.vue +9 -9
  186. package/docs/examples/icon/size.vue +7 -7
  187. package/docs/examples/input/basic.vue +10 -10
  188. package/docs/examples/input/clearable.vue +12 -12
  189. package/docs/examples/input/disabled.vue +6 -6
  190. package/docs/examples/input/icon.vue +23 -23
  191. package/docs/examples/input/password.vue +18 -18
  192. package/docs/examples/input/size.vue +13 -13
  193. package/docs/examples/input/textarea.vue +25 -25
  194. package/docs/examples/input/word-limit.vue +28 -28
  195. package/docs/examples/input-button/basic.vue +33 -33
  196. package/docs/examples/input-code/basic.vue +29 -29
  197. package/docs/examples/input-color/basic.vue +10 -10
  198. package/docs/examples/input-color/disabled.vue +13 -13
  199. package/docs/examples/input-color/format.vue +17 -17
  200. package/docs/examples/input-color/no-alpha.vue +13 -13
  201. package/docs/examples/input-color/only-button.vue +15 -15
  202. package/docs/examples/input-color/predefine.vue +31 -31
  203. package/docs/examples/input-color/size.vue +15 -15
  204. package/docs/examples/input-layer/basic.vue +86 -86
  205. package/docs/examples/input-rows/basic.vue +73 -73
  206. package/docs/examples/input-rows/drag.vue +48 -48
  207. package/docs/examples/input-rows/layer-form.vue +85 -85
  208. package/docs/examples/input-rows/nested.vue +91 -91
  209. package/docs/examples/input-tag/basic.vue +27 -27
  210. package/docs/examples/input-tag/colors.vue +23 -23
  211. package/docs/examples/input-tag/readonly.vue +17 -17
  212. package/docs/examples/layer/basic.vue +43 -43
  213. package/docs/examples/layer/custom-buttons.vue +61 -61
  214. package/docs/examples/layer/drawer.vue +37 -37
  215. package/docs/examples/layer/full.vue +38 -38
  216. package/docs/examples/layer/modal.vue +34 -34
  217. package/docs/examples/layer/steps.vue +46 -46
  218. package/docs/examples/layer-form/basic.vue +76 -76
  219. package/docs/examples/layer-form/config.vue +82 -82
  220. package/docs/examples/layer-form/size.vue +72 -72
  221. package/docs/examples/layout/basic.vue +36 -36
  222. package/docs/examples/layout/custom-size.vue +50 -50
  223. package/docs/examples/layout/disable-move.vue +37 -37
  224. package/docs/examples/layout/hide-mid-when-narrow.vue +96 -96
  225. package/docs/examples/layout/min-size.vue +73 -73
  226. package/docs/examples/layout/percent-size.vue +80 -80
  227. package/docs/examples/layout/simple.vue +22 -22
  228. package/docs/examples/layout/top-side.vue +34 -34
  229. package/docs/examples/map/basic.vue +22 -22
  230. package/docs/examples/menu/basic.vue +58 -58
  231. package/docs/examples/menu/collapsed.vue +49 -49
  232. package/docs/examples/menu/horizontal.vue +44 -44
  233. package/docs/examples/menu/selection-test.vue +104 -104
  234. package/docs/examples/menu/theme.vue +46 -46
  235. package/docs/examples/menu/vertical.vue +46 -46
  236. package/docs/examples/number/advanced.vue +143 -143
  237. package/docs/examples/number/basic.vue +63 -63
  238. package/docs/examples/number/disabled.vue +49 -49
  239. package/docs/examples/number/size.vue +42 -42
  240. package/docs/examples/number/slots.vue +123 -123
  241. package/docs/examples/number/step-strictly.vue +41 -41
  242. package/docs/examples/number/step.vue +47 -47
  243. package/docs/examples/page/basic.vue +41 -41
  244. package/docs/examples/page/code-table-model.vue +428 -428
  245. package/docs/examples/page/dept-user-management.vue +211 -211
  246. package/docs/examples/page/init.vue +87 -87
  247. package/docs/examples/page/log.vue +453 -453
  248. package/docs/examples/page/user-management.vue +313 -313
  249. package/docs/examples/panel/tool-buttons.vue +18 -18
  250. package/docs/examples/radio/basic.vue +17 -17
  251. package/docs/examples/radio/button.vue +17 -17
  252. package/docs/examples/radio/color.vue +18 -18
  253. package/docs/examples/radio/disabled.vue +17 -17
  254. package/docs/examples/radio/size.vue +29 -29
  255. package/docs/examples/rate/basic.vue +24 -24
  256. package/docs/examples/rate/half.vue +24 -24
  257. package/docs/examples/rate/readonly.vue +11 -11
  258. package/docs/examples/rate/text.vue +37 -37
  259. package/docs/examples/select/basic.vue +16 -16
  260. package/docs/examples/select/clearable.vue +22 -22
  261. package/docs/examples/select/disabled.vue +31 -31
  262. package/docs/examples/select/filterable.vue +24 -24
  263. package/docs/examples/select/group.vue +23 -23
  264. package/docs/examples/select/icon.vue +16 -16
  265. package/docs/examples/select/multiple.vue +18 -18
  266. package/docs/examples/select/size.vue +39 -39
  267. package/docs/examples/slider/basic.vue +42 -42
  268. package/docs/examples/slider/disabled.vue +17 -17
  269. package/docs/examples/slider/marks.vue +30 -30
  270. package/docs/examples/slider/size.vue +37 -37
  271. package/docs/examples/slider/tooltip.vue +36 -36
  272. package/docs/examples/slider/vertical.vue +26 -26
  273. package/docs/examples/slider-captcha/basic.vue +44 -44
  274. package/docs/examples/slider-captcha/custom.vue +48 -48
  275. package/docs/examples/switch/basic.vue +16 -16
  276. package/docs/examples/switch/disabled.vue +13 -13
  277. package/docs/examples/switch/loading.vue +13 -13
  278. package/docs/examples/switch/size.vue +15 -15
  279. package/docs/examples/switch/text.vue +13 -13
  280. package/docs/examples/table/action-filter.vue +126 -126
  281. package/docs/examples/table/actions.vue +116 -116
  282. package/docs/examples/table/add-row.vue +103 -103
  283. package/docs/examples/table/basic.vue +168 -168
  284. package/docs/examples/table/checkbox-layout.vue +68 -68
  285. package/docs/examples/table/custom-layout.vue +115 -115
  286. package/docs/examples/table/dynamic-type.vue +73 -73
  287. package/docs/examples/table/editable.vue +262 -262
  288. package/docs/examples/table/field-selection.vue +87 -87
  289. package/docs/examples/table/frozen-column.vue +140 -140
  290. package/docs/examples/table/height-mode.vue +99 -99
  291. package/docs/examples/table/icon.vue +85 -85
  292. package/docs/examples/table/link.vue +66 -66
  293. package/docs/examples/table/multiple.vue +188 -188
  294. package/docs/examples/table/pagination.vue +151 -151
  295. package/docs/examples/table/single-selection.vue +64 -64
  296. package/docs/examples/table/sub-table-lazy.vue +97 -97
  297. package/docs/examples/table/sub-table.vue +103 -103
  298. package/docs/examples/table/tag.vue +43 -43
  299. package/docs/examples/table/tree-column.vue +119 -119
  300. package/docs/examples/table/tree-data.vue +141 -141
  301. package/docs/examples/table/tree-default-expand-all.vue +60 -60
  302. package/docs/examples/table/tree-lazy.vue +80 -80
  303. package/docs/examples/table/tree-set-selection.vue +75 -75
  304. package/docs/examples/table-panel/basic.vue +229 -229
  305. package/docs/examples/table-panel/batch-operations.vue +285 -285
  306. package/docs/examples/table-panel/button-visibility.vue +88 -88
  307. package/docs/examples/table-panel/filter.vue +219 -219
  308. package/docs/examples/table-panel/get-selection.vue +111 -111
  309. package/docs/examples/table-panel/multiple-selection.vue +243 -243
  310. package/docs/examples/table-panel/pagination.vue +133 -133
  311. package/docs/examples/table-panel/sub-table-lazy.vue +118 -118
  312. package/docs/examples/table-panel/tree-parent-key.vue +67 -67
  313. package/docs/examples/tabs/basic.vue +98 -98
  314. package/docs/examples/time/base.vue +67 -67
  315. package/docs/examples/title/basic.vue +87 -87
  316. package/docs/examples/tree/accordion.vue +46 -46
  317. package/docs/examples/tree/basic.vue +50 -50
  318. package/docs/examples/tree/buttons.vue +53 -53
  319. package/docs/examples/tree/checkable.vue +52 -52
  320. package/docs/examples/tree/custom-keys.vue +39 -39
  321. package/docs/examples/tree/default-expanded.vue +52 -52
  322. package/docs/examples/tree/draggable.vue +29 -29
  323. package/docs/examples/tree/expand-on-click.vue +39 -39
  324. package/docs/examples/tree/flat-data.vue +20 -20
  325. package/docs/examples/tree/icon.vue +40 -40
  326. package/docs/examples/tree/load-data.vue +37 -37
  327. package/docs/examples/tree/methods.vue +74 -74
  328. package/docs/examples/tree/theme.vue +33 -33
  329. package/docs/examples/tree-select/basic.vue +47 -47
  330. package/docs/examples/upload/accept.vue +31 -31
  331. package/docs/examples/upload/basic.vue +12 -12
  332. package/docs/examples/upload/drag.vue +11 -11
  333. package/docs/examples/upload/image.vue +17 -17
  334. package/docs/examples/upload/limit.vue +20 -20
  335. package/docs/examples/upload/multiple.vue +17 -17
  336. package/docs/examples/upload/readonly.vue +17 -17
  337. package/docs/examples/utils/cipher.vue +160 -160
  338. package/docs/examples/utils/common.vue +153 -153
  339. package/docs/examples/utils/date.vue +56 -56
  340. package/docs/examples/utils/dom.vue +52 -52
  341. package/docs/examples/utils/is.vue +70 -70
  342. package/docs/examples/workflow/basic.vue +265 -265
  343. package/docs/examples/workflow-viewer/basic.vue +248 -248
  344. 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,102 +1,102 @@
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
- ## 数据表模型页面示例
71
-
72
- 参考业务项目中常见的“左侧树 / 右侧表格”的写法:点击左侧数据库树切换数据源;右侧使用 `j-table-panel` 展示表模型列表,并支持“新增 / 导入 / 编辑 / 删除 / 同步 / 更新”等常见操作;通过 `j-page.call('mainTable','refreshData')` 刷新表格。
73
-
74
- <Demo :source-code="pageCodeTableModelCode">
75
- <template #source>
76
- <page-code-table-model />
77
- </template>
78
- <template #description>
79
- 示例没有依赖额外的 page 配置文件,直接在 Demo 内部定义 schema、按钮与动作,适合用于演示 `j-page` 的 Schema 页面组织能力。
80
- </template>
81
- </Demo>
82
-
83
- ## API
84
-
85
- <ApiTable :data="pageApi" componentName="page" />
86
-
87
- <script setup>
88
- import PageBasic from '../examples/page/basic.vue'
89
- import PageInit from '../examples/page/init.vue'
90
- import PageLog from '../examples/page/log.vue'
91
- import PageUserManagement from '../examples/page/user-management.vue'
92
- import PageDeptUserManagement from '../examples/page/dept-user-management.vue'
93
- import PageCodeTableModel from '../examples/page/code-table-model.vue'
94
- import pageApi from './meta/page'
95
-
96
- import pageBasicCode from '../examples/page/basic.vue?raw'
97
- import pageInitCode from '../examples/page/init.vue?raw'
98
- import pageLogCode from '../examples/page/log.vue?raw'
99
- import pageUserManagementCode from '../examples/page/user-management.vue?raw'
100
- import pageDeptUserManagementCode from '../examples/page/dept-user-management.vue?raw'
101
- import pageCodeTableModelCode from '../examples/page/code-table-model.vue?raw'
102
- </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
+ ## 数据表模型页面示例
71
+
72
+ 参考业务项目中常见的“左侧树 / 右侧表格”的写法:点击左侧数据库树切换数据源;右侧使用 `j-table-panel` 展示表模型列表,并支持“新增 / 导入 / 编辑 / 删除 / 同步 / 更新”等常见操作;通过 `j-page.call('mainTable','refreshData')` 刷新表格。
73
+
74
+ <Demo :source-code="pageCodeTableModelCode">
75
+ <template #source>
76
+ <page-code-table-model />
77
+ </template>
78
+ <template #description>
79
+ 示例没有依赖额外的 page 配置文件,直接在 Demo 内部定义 schema、按钮与动作,适合用于演示 `j-page` 的 Schema 页面组织能力。
80
+ </template>
81
+ </Demo>
82
+
83
+ ## API
84
+
85
+ <ApiTable :data="pageApi" componentName="page" />
86
+
87
+ <script setup>
88
+ import PageBasic from '../examples/page/basic.vue'
89
+ import PageInit from '../examples/page/init.vue'
90
+ import PageLog from '../examples/page/log.vue'
91
+ import PageUserManagement from '../examples/page/user-management.vue'
92
+ import PageDeptUserManagement from '../examples/page/dept-user-management.vue'
93
+ import PageCodeTableModel from '../examples/page/code-table-model.vue'
94
+ import pageApi from './meta/page'
95
+
96
+ import pageBasicCode from '../examples/page/basic.vue?raw'
97
+ import pageInitCode from '../examples/page/init.vue?raw'
98
+ import pageLogCode from '../examples/page/log.vue?raw'
99
+ import pageUserManagementCode from '../examples/page/user-management.vue?raw'
100
+ import pageDeptUserManagementCode from '../examples/page/dept-user-management.vue?raw'
101
+ import pageCodeTableModelCode from '../examples/page/code-table-model.vue?raw'
102
+ </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>