@a2simcode/ui 0.0.236 → 0.0.238

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 (358) 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/switch/index.d.ts +3 -3
  6. package/dist/components/switch/src/switch.vue.d.ts +1 -1
  7. package/dist/simcode-ui.es.js +4162 -4138
  8. package/dist/simcode-ui.umd.js +2 -2
  9. package/dist/stats.html +1 -1
  10. package/dist/ui.css +1 -1
  11. package/docs/components/autocomplete.md +89 -89
  12. package/docs/components/barcode.md +101 -101
  13. package/docs/components/button-select.md +24 -24
  14. package/docs/components/button.md +117 -117
  15. package/docs/components/buttons.md +119 -119
  16. package/docs/components/cascader-select.md +114 -114
  17. package/docs/components/checkbox.md +114 -114
  18. package/docs/components/code-mirror.md +85 -85
  19. package/docs/components/collapse.md +26 -26
  20. package/docs/components/comp.md +71 -71
  21. package/docs/components/count-up.md +24 -24
  22. package/docs/components/count.md +24 -24
  23. package/docs/components/data-panel.md +24 -24
  24. package/docs/components/date.md +76 -76
  25. package/docs/components/dialog-full.md +112 -112
  26. package/docs/components/dialog.md +127 -127
  27. package/docs/components/divider.md +24 -24
  28. package/docs/components/drawer.md +127 -127
  29. package/docs/components/dynamic-layer.md +118 -118
  30. package/docs/components/echarts.md +72 -72
  31. package/docs/components/editor.md +24 -24
  32. package/docs/components/form.md +87 -87
  33. package/docs/components/guid.md +39 -39
  34. package/docs/components/hpanel.md +24 -24
  35. package/docs/components/icon.md +56 -56
  36. package/docs/components/input-button.md +24 -24
  37. package/docs/components/input-code.md +24 -24
  38. package/docs/components/input-color.md +114 -114
  39. package/docs/components/input-layer.md +56 -56
  40. package/docs/components/input-rows.md +370 -370
  41. package/docs/components/input-tag.md +50 -50
  42. package/docs/components/input.md +129 -129
  43. package/docs/components/layer-form.md +61 -61
  44. package/docs/components/layer.md +127 -127
  45. package/docs/components/layout.md +132 -132
  46. package/docs/components/map.md +24 -24
  47. package/docs/components/menu.md +121 -121
  48. package/docs/components/meta/button.ts +212 -212
  49. package/docs/components/meta/buttons.ts +76 -76
  50. package/docs/components/meta/code-mirror.ts +108 -108
  51. package/docs/components/meta/comp.ts +236 -236
  52. package/docs/components/meta/date.ts +267 -267
  53. package/docs/components/meta/echarts.ts +64 -64
  54. package/docs/components/meta/form-item.ts +50 -50
  55. package/docs/components/meta/form.ts +181 -181
  56. package/docs/components/meta/input-button.ts +165 -165
  57. package/docs/components/meta/input-cards.ts +112 -112
  58. package/docs/components/meta/input-code.ts +151 -151
  59. package/docs/components/meta/input-color.ts +243 -243
  60. package/docs/components/meta/input-layer.ts +382 -382
  61. package/docs/components/meta/input-rows.ts +119 -119
  62. package/docs/components/meta/layer-form.ts +74 -74
  63. package/docs/components/meta/map.ts +68 -68
  64. package/docs/components/meta/panel.ts +152 -152
  65. package/docs/components/meta/radio.ts +55 -55
  66. package/docs/components/meta/select.ts +279 -279
  67. package/docs/components/meta/slider.ts +270 -270
  68. package/docs/components/meta/table-panel.ts +260 -260
  69. package/docs/components/meta/table.ts +403 -403
  70. package/docs/components/meta/tabs.ts +146 -146
  71. package/docs/components/meta/title.ts +91 -91
  72. package/docs/components/meta/tree-select.ts +199 -199
  73. package/docs/components/meta/tree.ts +219 -219
  74. package/docs/components/meta/vpanel.ts +19 -19
  75. package/docs/components/meta/workflow-viewer.ts +55 -55
  76. package/docs/components/number.md +124 -124
  77. package/docs/components/page.md +102 -102
  78. package/docs/components/panel.md +37 -37
  79. package/docs/components/radio.md +87 -87
  80. package/docs/components/rate.md +71 -71
  81. package/docs/components/select.md +133 -133
  82. package/docs/components/slider-captcha.md +41 -41
  83. package/docs/components/slider.md +101 -101
  84. package/docs/components/switch.md +90 -90
  85. package/docs/components/table-panel.md +282 -282
  86. package/docs/components/table.md +435 -435
  87. package/docs/components/tabs.md +26 -26
  88. package/docs/components/title.md +24 -24
  89. package/docs/components/tree.md +207 -207
  90. package/docs/components/upload.md +117 -117
  91. package/docs/components/workflow-viewer.md +21 -21
  92. package/docs/components/workflow.md +21 -21
  93. package/docs/examples/autocomplete/advanced.vue +35 -35
  94. package/docs/examples/autocomplete/basic.vue +32 -32
  95. package/docs/examples/autocomplete/clearable.vue +33 -33
  96. package/docs/examples/autocomplete/custom-template.vue +49 -49
  97. package/docs/examples/autocomplete/disabled.vue +33 -33
  98. package/docs/examples/autocomplete/icon.vue +37 -37
  99. package/docs/examples/barcode/all-types.vue +380 -380
  100. package/docs/examples/barcode/basic.vue +14 -14
  101. package/docs/examples/barcode/props-appearance.vue +243 -243
  102. package/docs/examples/barcode/props-geometry.vue +143 -143
  103. package/docs/examples/barcode/props-logic.vue +216 -216
  104. package/docs/examples/barcode/props-symbology.vue +199 -199
  105. package/docs/examples/barcode/props-text.vue +268 -268
  106. package/docs/examples/button/basic.vue +7 -7
  107. package/docs/examples/button/disabled.vue +42 -42
  108. package/docs/examples/button/loading.vue +6 -6
  109. package/docs/examples/button/shape.vue +7 -7
  110. package/docs/examples/button/size.vue +14 -14
  111. package/docs/examples/button/status.vue +34 -34
  112. package/docs/examples/button/type.vue +10 -10
  113. package/docs/examples/button-select/basic.vue +19 -19
  114. package/docs/examples/buttons/basic.vue +62 -62
  115. package/docs/examples/buttons/disabled.vue +36 -36
  116. package/docs/examples/buttons/dropdown.vue +63 -63
  117. package/docs/examples/buttons/group.vue +52 -52
  118. package/docs/examples/buttons/link.vue +47 -47
  119. package/docs/examples/buttons/popup.vue +39 -39
  120. package/docs/examples/buttons/size.vue +45 -45
  121. package/docs/examples/cascader-select/basic.vue +28 -28
  122. package/docs/examples/cascader-select/clearable.vue +34 -34
  123. package/docs/examples/cascader-select/disabled.vue +43 -43
  124. package/docs/examples/cascader-select/filterable.vue +37 -37
  125. package/docs/examples/cascader-select/methods.vue +84 -84
  126. package/docs/examples/cascader-select/multiple.vue +38 -38
  127. package/docs/examples/cascader-select/slot.vue +45 -45
  128. package/docs/examples/checkbox/basic.vue +18 -18
  129. package/docs/examples/checkbox/button.vue +19 -19
  130. package/docs/examples/checkbox/color.vue +25 -25
  131. package/docs/examples/checkbox/disabled.vue +17 -17
  132. package/docs/examples/checkbox/min-max.vue +20 -20
  133. package/docs/examples/checkbox/mixed.vue +56 -56
  134. package/docs/examples/checkbox/size.vue +28 -28
  135. package/docs/examples/code-mirror/basic.vue +11 -11
  136. package/docs/examples/code-mirror/events.vue +42 -42
  137. package/docs/examples/code-mirror/height.vue +25 -25
  138. package/docs/examples/code-mirror/mode.vue +33 -33
  139. package/docs/examples/code-mirror/readonly.vue +14 -14
  140. package/docs/examples/collapse/basic.vue +82 -82
  141. package/docs/examples/comp/basic.vue +7 -7
  142. package/docs/examples/comp/collapse.vue +38 -38
  143. package/docs/examples/comp/tabs.vue +38 -38
  144. package/docs/examples/count/basic.vue +101 -101
  145. package/docs/examples/count-up/basic.vue +89 -89
  146. package/docs/examples/data-panel/basic.vue +110 -110
  147. package/docs/examples/date/basic.vue +73 -73
  148. package/docs/examples/date/default-value.vue +59 -59
  149. package/docs/examples/date/format.vue +75 -75
  150. package/docs/examples/date/range.vue +66 -66
  151. package/docs/examples/date/types.vue +79 -79
  152. package/docs/examples/decorated-title/basic.vue +31 -31
  153. package/docs/examples/dialog/basic.vue +36 -36
  154. package/docs/examples/dialog/custom-buttons.vue +44 -44
  155. package/docs/examples/dialog/fullscreen.vue +23 -23
  156. package/docs/examples/dialog/no-mask.vue +17 -17
  157. package/docs/examples/dialog/size.vue +44 -44
  158. package/docs/examples/dialog/steps.vue +57 -57
  159. package/docs/examples/dialog-full/basic.vue +29 -29
  160. package/docs/examples/dialog-full/custom-buttons.vue +45 -45
  161. package/docs/examples/dialog-full/no-buttons.vue +18 -18
  162. package/docs/examples/dialog-full/no-header.vue +27 -27
  163. package/docs/examples/dialog-full/steps.vue +71 -71
  164. package/docs/examples/divider/basic.vue +52 -52
  165. package/docs/examples/drawer/basic.vue +35 -35
  166. package/docs/examples/drawer/custom-buttons.vue +34 -34
  167. package/docs/examples/drawer/direction.vue +47 -47
  168. package/docs/examples/drawer/mask.vue +36 -36
  169. package/docs/examples/drawer/no-buttons.vue +20 -20
  170. package/docs/examples/drawer/size.vue +28 -28
  171. package/docs/examples/dynamic-layer/basic.vue +33 -33
  172. package/docs/examples/dynamic-layer/custom-buttons.vue +43 -43
  173. package/docs/examples/dynamic-layer/form.vue +73 -73
  174. package/docs/examples/dynamic-layer/steps.vue +52 -52
  175. package/docs/examples/dynamic-layer/types.vue +40 -40
  176. package/docs/examples/echarts/basic.vue +31 -31
  177. package/docs/examples/echarts/dynamic.vue +43 -43
  178. package/docs/examples/echarts/line.vue +46 -46
  179. package/docs/examples/echarts/pie.vue +44 -44
  180. package/docs/examples/editor/basic.vue +15 -15
  181. package/docs/examples/form/basic.vue +663 -663
  182. package/docs/examples/form/init.vue +76 -76
  183. package/docs/examples/form/master-detail.vue +203 -203
  184. package/docs/examples/form/rule-format.vue +179 -179
  185. package/docs/examples/form/view-table.vue +378 -378
  186. package/docs/examples/guid/basic.vue +10 -10
  187. package/docs/examples/guid/size.vue +13 -13
  188. package/docs/examples/hpanel/basic.vue +79 -79
  189. package/docs/examples/icon/basic.vue +9 -9
  190. package/docs/examples/icon/rotate-flip.vue +9 -9
  191. package/docs/examples/icon/size.vue +7 -7
  192. package/docs/examples/input/basic.vue +10 -10
  193. package/docs/examples/input/clearable.vue +12 -12
  194. package/docs/examples/input/disabled.vue +6 -6
  195. package/docs/examples/input/icon.vue +23 -23
  196. package/docs/examples/input/password.vue +18 -18
  197. package/docs/examples/input/size.vue +13 -13
  198. package/docs/examples/input/textarea.vue +25 -25
  199. package/docs/examples/input/word-limit.vue +28 -28
  200. package/docs/examples/input-button/basic.vue +33 -33
  201. package/docs/examples/input-cards/basic.vue +79 -79
  202. package/docs/examples/input-code/basic.vue +29 -29
  203. package/docs/examples/input-color/basic.vue +10 -10
  204. package/docs/examples/input-color/disabled.vue +13 -13
  205. package/docs/examples/input-color/format.vue +17 -17
  206. package/docs/examples/input-color/no-alpha.vue +13 -13
  207. package/docs/examples/input-color/only-button.vue +15 -15
  208. package/docs/examples/input-color/predefine.vue +31 -31
  209. package/docs/examples/input-color/size.vue +15 -15
  210. package/docs/examples/input-layer/basic.vue +85 -85
  211. package/docs/examples/input-layer/render-vnode-page.vue +160 -160
  212. package/docs/examples/input-layer/render-vnode.vue +127 -127
  213. package/docs/examples/input-rows/basic.vue +73 -73
  214. package/docs/examples/input-rows/drag.vue +48 -48
  215. package/docs/examples/input-rows/layer-form.vue +85 -85
  216. package/docs/examples/input-rows/nested.vue +91 -91
  217. package/docs/examples/input-tag/basic.vue +27 -27
  218. package/docs/examples/input-tag/colors.vue +23 -23
  219. package/docs/examples/input-tag/readonly.vue +17 -17
  220. package/docs/examples/layer/basic.vue +43 -43
  221. package/docs/examples/layer/custom-buttons.vue +61 -61
  222. package/docs/examples/layer/drawer.vue +37 -37
  223. package/docs/examples/layer/full.vue +38 -38
  224. package/docs/examples/layer/modal.vue +34 -34
  225. package/docs/examples/layer/steps.vue +46 -46
  226. package/docs/examples/layer-form/basic.vue +76 -76
  227. package/docs/examples/layer-form/config.vue +82 -82
  228. package/docs/examples/layer-form/size.vue +72 -72
  229. package/docs/examples/layout/basic.vue +36 -36
  230. package/docs/examples/layout/custom-size.vue +50 -50
  231. package/docs/examples/layout/disable-move.vue +37 -37
  232. package/docs/examples/layout/hide-mid-when-narrow.vue +96 -96
  233. package/docs/examples/layout/min-size.vue +73 -73
  234. package/docs/examples/layout/percent-size.vue +80 -80
  235. package/docs/examples/layout/simple.vue +22 -22
  236. package/docs/examples/layout/top-side.vue +34 -34
  237. package/docs/examples/map/basic.vue +22 -22
  238. package/docs/examples/menu/basic.vue +58 -58
  239. package/docs/examples/menu/collapsed.vue +49 -49
  240. package/docs/examples/menu/horizontal.vue +44 -44
  241. package/docs/examples/menu/selection-test.vue +104 -104
  242. package/docs/examples/menu/theme.vue +46 -46
  243. package/docs/examples/menu/vertical.vue +46 -46
  244. package/docs/examples/number/advanced.vue +143 -143
  245. package/docs/examples/number/basic.vue +63 -63
  246. package/docs/examples/number/disabled.vue +49 -49
  247. package/docs/examples/number/size.vue +42 -42
  248. package/docs/examples/number/slots.vue +123 -123
  249. package/docs/examples/number/step-strictly.vue +41 -41
  250. package/docs/examples/number/step.vue +47 -47
  251. package/docs/examples/page/basic.vue +41 -41
  252. package/docs/examples/page/code-table-model.vue +428 -428
  253. package/docs/examples/page/dept-user-management.vue +211 -211
  254. package/docs/examples/page/init.vue +87 -87
  255. package/docs/examples/page/log.vue +453 -453
  256. package/docs/examples/page/user-management.vue +313 -313
  257. package/docs/examples/panel/tool-buttons.vue +18 -18
  258. package/docs/examples/radio/basic.vue +17 -17
  259. package/docs/examples/radio/button.vue +17 -17
  260. package/docs/examples/radio/color.vue +18 -18
  261. package/docs/examples/radio/disabled.vue +17 -17
  262. package/docs/examples/radio/size.vue +29 -29
  263. package/docs/examples/rate/basic.vue +24 -24
  264. package/docs/examples/rate/half.vue +24 -24
  265. package/docs/examples/rate/readonly.vue +11 -11
  266. package/docs/examples/rate/text.vue +37 -37
  267. package/docs/examples/select/basic.vue +16 -16
  268. package/docs/examples/select/clearable.vue +22 -22
  269. package/docs/examples/select/disabled.vue +31 -31
  270. package/docs/examples/select/filterable.vue +24 -24
  271. package/docs/examples/select/group.vue +23 -23
  272. package/docs/examples/select/icon.vue +16 -16
  273. package/docs/examples/select/multiple.vue +18 -18
  274. package/docs/examples/select/size.vue +39 -39
  275. package/docs/examples/slider/basic.vue +42 -42
  276. package/docs/examples/slider/disabled.vue +17 -17
  277. package/docs/examples/slider/marks.vue +30 -30
  278. package/docs/examples/slider/size.vue +37 -37
  279. package/docs/examples/slider/tooltip.vue +36 -36
  280. package/docs/examples/slider/vertical.vue +26 -26
  281. package/docs/examples/slider-captcha/basic.vue +44 -44
  282. package/docs/examples/slider-captcha/custom.vue +48 -48
  283. package/docs/examples/switch/basic.vue +16 -16
  284. package/docs/examples/switch/disabled.vue +13 -13
  285. package/docs/examples/switch/loading.vue +13 -13
  286. package/docs/examples/switch/size.vue +15 -15
  287. package/docs/examples/switch/text.vue +13 -13
  288. package/docs/examples/table/action-filter.vue +126 -126
  289. package/docs/examples/table/actions.vue +116 -116
  290. package/docs/examples/table/add-row.vue +103 -103
  291. package/docs/examples/table/basic.vue +168 -168
  292. package/docs/examples/table/checkbox-layout.vue +68 -68
  293. package/docs/examples/table/custom-layout.vue +115 -115
  294. package/docs/examples/table/dynamic-type.vue +73 -73
  295. package/docs/examples/table/editable.vue +262 -262
  296. package/docs/examples/table/field-selection.vue +87 -87
  297. package/docs/examples/table/frozen-column.vue +140 -140
  298. package/docs/examples/table/height-mode.vue +99 -99
  299. package/docs/examples/table/icon.vue +85 -85
  300. package/docs/examples/table/layer-form.vue +133 -133
  301. package/docs/examples/table/link.vue +66 -66
  302. package/docs/examples/table/multiple-disabled.vue +112 -112
  303. package/docs/examples/table/multiple.vue +188 -188
  304. package/docs/examples/table/pagination.vue +151 -151
  305. package/docs/examples/table/row-drag.vue +67 -67
  306. package/docs/examples/table/single-selection.vue +64 -64
  307. package/docs/examples/table/sub-table-lazy.vue +97 -97
  308. package/docs/examples/table/sub-table.vue +103 -103
  309. package/docs/examples/table/tag.vue +43 -43
  310. package/docs/examples/table/tree-column.vue +119 -119
  311. package/docs/examples/table/tree-data.vue +141 -141
  312. package/docs/examples/table/tree-default-expand-all.vue +60 -60
  313. package/docs/examples/table/tree-lazy.vue +80 -80
  314. package/docs/examples/table/tree-set-selection.vue +75 -75
  315. package/docs/examples/table-panel/basic.vue +229 -229
  316. package/docs/examples/table-panel/batch-operations.vue +286 -286
  317. package/docs/examples/table-panel/button-visibility.vue +88 -88
  318. package/docs/examples/table-panel/filter.vue +219 -219
  319. package/docs/examples/table-panel/get-selection.vue +111 -111
  320. package/docs/examples/table-panel/mask.vue +151 -151
  321. package/docs/examples/table-panel/model-value.vue +87 -87
  322. package/docs/examples/table-panel/multiple-selection.vue +243 -243
  323. package/docs/examples/table-panel/pagination.vue +133 -133
  324. package/docs/examples/table-panel/search-list.vue +207 -207
  325. package/docs/examples/table-panel/sub-table-lazy.vue +118 -118
  326. package/docs/examples/table-panel/tree-parent-key.vue +67 -67
  327. package/docs/examples/tabs/basic.vue +98 -98
  328. package/docs/examples/time/base.vue +67 -67
  329. package/docs/examples/title/basic.vue +87 -87
  330. package/docs/examples/tree/accordion.vue +46 -46
  331. package/docs/examples/tree/basic.vue +50 -50
  332. package/docs/examples/tree/buttons.vue +53 -53
  333. package/docs/examples/tree/checkable.vue +52 -52
  334. package/docs/examples/tree/custom-keys.vue +39 -39
  335. package/docs/examples/tree/default-expanded.vue +52 -52
  336. package/docs/examples/tree/draggable.vue +29 -29
  337. package/docs/examples/tree/expand-on-click.vue +39 -39
  338. package/docs/examples/tree/flat-data.vue +20 -20
  339. package/docs/examples/tree/icon.vue +40 -40
  340. package/docs/examples/tree/load-data.vue +37 -37
  341. package/docs/examples/tree/methods.vue +74 -74
  342. package/docs/examples/tree/theme.vue +33 -33
  343. package/docs/examples/tree-select/basic.vue +47 -47
  344. package/docs/examples/upload/accept.vue +31 -31
  345. package/docs/examples/upload/basic.vue +12 -12
  346. package/docs/examples/upload/drag.vue +11 -11
  347. package/docs/examples/upload/image.vue +17 -17
  348. package/docs/examples/upload/limit.vue +20 -20
  349. package/docs/examples/upload/multiple.vue +17 -17
  350. package/docs/examples/upload/readonly.vue +17 -17
  351. package/docs/examples/utils/cipher.vue +160 -160
  352. package/docs/examples/utils/common.vue +153 -153
  353. package/docs/examples/utils/date.vue +56 -56
  354. package/docs/examples/utils/dom.vue +52 -52
  355. package/docs/examples/utils/is.vue +70 -70
  356. package/docs/examples/workflow/basic.vue +265 -265
  357. package/docs/examples/workflow-viewer/basic.vue +248 -248
  358. package/package.json +23 -23
@@ -1,23 +1,23 @@
1
- <template>
2
- <div class="example-container">
3
- <j-input-tag v-model="tags" :colors="customColors" />
4
- </div>
5
- </template>
6
-
7
- <script setup lang="ts">
8
- import { ref } from 'vue'
9
-
10
- const tags = ref('红色,蓝色,绿色')
11
-
12
- const customColors = [
13
- { color: '#fff', backgroundColor: '#f56c6c', borderColor: '#f56c6c' },
14
- { color: '#fff', backgroundColor: '#409eff', borderColor: '#409eff' },
15
- { color: '#fff', backgroundColor: '#67c23a', borderColor: '#67c23a' },
16
- ]
17
- </script>
18
-
19
- <style scoped>
20
- .example-container {
21
- width: 100%;
22
- }
23
- </style>
1
+ <template>
2
+ <div class="example-container">
3
+ <j-input-tag v-model="tags" :colors="customColors" />
4
+ </div>
5
+ </template>
6
+
7
+ <script setup lang="ts">
8
+ import { ref } from 'vue'
9
+
10
+ const tags = ref('红色,蓝色,绿色')
11
+
12
+ const customColors = [
13
+ { color: '#fff', backgroundColor: '#f56c6c', borderColor: '#f56c6c' },
14
+ { color: '#fff', backgroundColor: '#409eff', borderColor: '#409eff' },
15
+ { color: '#fff', backgroundColor: '#67c23a', borderColor: '#67c23a' },
16
+ ]
17
+ </script>
18
+
19
+ <style scoped>
20
+ .example-container {
21
+ width: 100%;
22
+ }
23
+ </style>
@@ -1,17 +1,17 @@
1
- <template>
2
- <div class="example-container">
3
- <j-input-tag v-model="tags" readonly />
4
- </div>
5
- </template>
6
-
7
- <script setup lang="ts">
8
- import { ref } from 'vue'
9
-
10
- const tags = ref('不可编辑,只读标签')
11
- </script>
12
-
13
- <style scoped>
14
- .example-container {
15
- width: 100%;
16
- }
17
- </style>
1
+ <template>
2
+ <div class="example-container">
3
+ <j-input-tag v-model="tags" readonly />
4
+ </div>
5
+ </template>
6
+
7
+ <script setup lang="ts">
8
+ import { ref } from 'vue'
9
+
10
+ const tags = ref('不可编辑,只读标签')
11
+ </script>
12
+
13
+ <style scoped>
14
+ .example-container {
15
+ width: 100%;
16
+ }
17
+ </style>
@@ -1,43 +1,43 @@
1
- <template>
2
- <div>
3
- <j-button label="打开弹窗(Modal)" style="margin-right: 8px" @click="openModal" />
4
- <j-button label="打开全屏(Full)" style="margin-right: 8px" @click="openFull" />
5
- <j-button label="打开抽屉(Drawer)" @click="openDrawer" />
6
- <j-layer ref="layerRef" @ok="handleOk" @cancel="handleCancel">
7
- <div style="padding: 16px">
8
- <p>这是 Layer 组件的基础示例。</p>
9
- <p>Layer 组件支持三种展示形式:弹窗(modal)、全屏(full)、抽屉(drawer)。</p>
10
- </div>
11
- </j-layer>
12
- </div>
13
- </template>
14
-
15
- <script setup lang="ts">
16
- import { ref } from 'vue'
17
-
18
- const layerRef = ref()
19
-
20
- const openModal = () => {
21
- layerRef.value.open('弹窗模式', 'modal')
22
- }
23
-
24
- const openFull = () => {
25
- layerRef.value.open('全屏模式', 'full')
26
- }
27
-
28
- const openDrawer = () => {
29
- layerRef.value.open('抽屉模式', 'drawer')
30
- }
31
-
32
- const handleOk = (showLoading: any, hideLoading: any) => {
33
- showLoading('保存中...')
34
- setTimeout(() => {
35
- hideLoading()
36
- layerRef.value.close()
37
- }, 1000)
38
- }
39
-
40
- const handleCancel = () => {
41
- layerRef.value.close()
42
- }
43
- </script>
1
+ <template>
2
+ <div>
3
+ <j-button label="打开弹窗(Modal)" style="margin-right: 8px" @click="openModal" />
4
+ <j-button label="打开全屏(Full)" style="margin-right: 8px" @click="openFull" />
5
+ <j-button label="打开抽屉(Drawer)" @click="openDrawer" />
6
+ <j-layer ref="layerRef" @ok="handleOk" @cancel="handleCancel">
7
+ <div style="padding: 16px">
8
+ <p>这是 Layer 组件的基础示例。</p>
9
+ <p>Layer 组件支持三种展示形式:弹窗(modal)、全屏(full)、抽屉(drawer)。</p>
10
+ </div>
11
+ </j-layer>
12
+ </div>
13
+ </template>
14
+
15
+ <script setup lang="ts">
16
+ import { ref } from 'vue'
17
+
18
+ const layerRef = ref()
19
+
20
+ const openModal = () => {
21
+ layerRef.value.open('弹窗模式', 'modal')
22
+ }
23
+
24
+ const openFull = () => {
25
+ layerRef.value.open('全屏模式', 'full')
26
+ }
27
+
28
+ const openDrawer = () => {
29
+ layerRef.value.open('抽屉模式', 'drawer')
30
+ }
31
+
32
+ const handleOk = (showLoading: any, hideLoading: any) => {
33
+ showLoading('保存中...')
34
+ setTimeout(() => {
35
+ hideLoading()
36
+ layerRef.value.close()
37
+ }, 1000)
38
+ }
39
+
40
+ const handleCancel = () => {
41
+ layerRef.value.close()
42
+ }
43
+ </script>
@@ -1,61 +1,61 @@
1
- <template>
2
- <div>
3
- <j-button label="自定义按钮" @click="openLayer" />
4
- <j-layer
5
- ref="layerRef"
6
- :buttons="customButtons"
7
- :has-save-btn="false"
8
- @ok="handleOk"
9
- @cancel="handleCancel"
10
- >
11
- <div style="padding: 16px">
12
- <p>这是自定义按钮的示例。</p>
13
- <p>可以通过 buttons 属性配置自定义按钮。</p>
14
- <p>设置 has-save-btn 为 false 可以隐藏默认的保存按钮。</p>
15
- </div>
16
- </j-layer>
17
- </div>
18
- </template>
19
-
20
- <script setup lang="ts">
21
- import { ref } from 'vue'
22
-
23
- const layerRef = ref()
24
-
25
- const customButtons = [
26
- {
27
- label: '重置',
28
- btnType: 'default',
29
- onClick: () => {
30
- console.log('点击重置')
31
- },
32
- },
33
- {
34
- label: '提交',
35
- btnType: 'primary',
36
- onClick: (showLoading: any, hideLoading: any) => {
37
- showLoading('提交中...')
38
- setTimeout(() => {
39
- hideLoading()
40
- layerRef.value.close()
41
- }, 1000)
42
- },
43
- },
44
- ]
45
-
46
- const openLayer = () => {
47
- layerRef.value.open('自定义按钮示例', 'modal')
48
- }
49
-
50
- const handleOk = (showLoading: any, hideLoading: any) => {
51
- showLoading('保存中...')
52
- setTimeout(() => {
53
- hideLoading()
54
- layerRef.value.close()
55
- }, 1000)
56
- }
57
-
58
- const handleCancel = () => {
59
- layerRef.value.close()
60
- }
61
- </script>
1
+ <template>
2
+ <div>
3
+ <j-button label="自定义按钮" @click="openLayer" />
4
+ <j-layer
5
+ ref="layerRef"
6
+ :buttons="customButtons"
7
+ :has-save-btn="false"
8
+ @ok="handleOk"
9
+ @cancel="handleCancel"
10
+ >
11
+ <div style="padding: 16px">
12
+ <p>这是自定义按钮的示例。</p>
13
+ <p>可以通过 buttons 属性配置自定义按钮。</p>
14
+ <p>设置 has-save-btn 为 false 可以隐藏默认的保存按钮。</p>
15
+ </div>
16
+ </j-layer>
17
+ </div>
18
+ </template>
19
+
20
+ <script setup lang="ts">
21
+ import { ref } from 'vue'
22
+
23
+ const layerRef = ref()
24
+
25
+ const customButtons = [
26
+ {
27
+ label: '重置',
28
+ btnType: 'default',
29
+ onClick: () => {
30
+ console.log('点击重置')
31
+ },
32
+ },
33
+ {
34
+ label: '提交',
35
+ btnType: 'primary',
36
+ onClick: (showLoading: any, hideLoading: any) => {
37
+ showLoading('提交中...')
38
+ setTimeout(() => {
39
+ hideLoading()
40
+ layerRef.value.close()
41
+ }, 1000)
42
+ },
43
+ },
44
+ ]
45
+
46
+ const openLayer = () => {
47
+ layerRef.value.open('自定义按钮示例', 'modal')
48
+ }
49
+
50
+ const handleOk = (showLoading: any, hideLoading: any) => {
51
+ showLoading('保存中...')
52
+ setTimeout(() => {
53
+ hideLoading()
54
+ layerRef.value.close()
55
+ }, 1000)
56
+ }
57
+
58
+ const handleCancel = () => {
59
+ layerRef.value.close()
60
+ }
61
+ </script>
@@ -1,37 +1,37 @@
1
- <template>
2
- <div>
3
- <j-button label="打开抽屉" @click="openLayer" />
4
- <j-layer ref="layerRef" @ok="handleOk" @cancel="handleCancel">
5
- <div style="padding: 16px">
6
- <h3>抽屉模式示例</h3>
7
- <p>抽屉从右侧滑出,适合展示详情或表单。</p>
8
- <div style="margin-top: 20px">
9
- <p>可以在抽屉中放置任意内容。</p>
10
- <p>支持自定义按钮和回调处理。</p>
11
- </div>
12
- </div>
13
- </j-layer>
14
- </div>
15
- </template>
16
-
17
- <script setup lang="ts">
18
- import { ref } from 'vue'
19
-
20
- const layerRef = ref()
21
-
22
- const openLayer = () => {
23
- layerRef.value.open('抽屉示例', 'drawer')
24
- }
25
-
26
- const handleOk = (showLoading: any, hideLoading: any) => {
27
- showLoading('提交中...')
28
- setTimeout(() => {
29
- hideLoading()
30
- layerRef.value.close()
31
- }, 1000)
32
- }
33
-
34
- const handleCancel = () => {
35
- layerRef.value.close()
36
- }
37
- </script>
1
+ <template>
2
+ <div>
3
+ <j-button label="打开抽屉" @click="openLayer" />
4
+ <j-layer ref="layerRef" @ok="handleOk" @cancel="handleCancel">
5
+ <div style="padding: 16px">
6
+ <h3>抽屉模式示例</h3>
7
+ <p>抽屉从右侧滑出,适合展示详情或表单。</p>
8
+ <div style="margin-top: 20px">
9
+ <p>可以在抽屉中放置任意内容。</p>
10
+ <p>支持自定义按钮和回调处理。</p>
11
+ </div>
12
+ </div>
13
+ </j-layer>
14
+ </div>
15
+ </template>
16
+
17
+ <script setup lang="ts">
18
+ import { ref } from 'vue'
19
+
20
+ const layerRef = ref()
21
+
22
+ const openLayer = () => {
23
+ layerRef.value.open('抽屉示例', 'drawer')
24
+ }
25
+
26
+ const handleOk = (showLoading: any, hideLoading: any) => {
27
+ showLoading('提交中...')
28
+ setTimeout(() => {
29
+ hideLoading()
30
+ layerRef.value.close()
31
+ }, 1000)
32
+ }
33
+
34
+ const handleCancel = () => {
35
+ layerRef.value.close()
36
+ }
37
+ </script>
@@ -1,38 +1,38 @@
1
- <template>
2
- <div>
3
- <j-button label="打开全屏" @click="openLayer" />
4
- <j-layer ref="layerRef" @ok="handleOk" @cancel="handleCancel">
5
- <div style="padding: 16px">
6
- <h3>全屏模式示例</h3>
7
- <p>全屏模式会占据整个浏览器窗口。</p>
8
- <p>适用于需要大量展示内容的场景。</p>
9
- <div style="margin-top: 20px">
10
- <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
11
- <p>Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
12
- </div>
13
- </div>
14
- </j-layer>
15
- </div>
16
- </template>
17
-
18
- <script setup lang="ts">
19
- import { ref } from 'vue'
20
-
21
- const layerRef = ref()
22
-
23
- const openLayer = () => {
24
- layerRef.value.open('全屏示例', 'full')
25
- }
26
-
27
- const handleOk = (showLoading: any, hideLoading: any) => {
28
- showLoading('保存中...')
29
- setTimeout(() => {
30
- hideLoading()
31
- layerRef.value.close()
32
- }, 1500)
33
- }
34
-
35
- const handleCancel = () => {
36
- layerRef.value.close()
37
- }
38
- </script>
1
+ <template>
2
+ <div>
3
+ <j-button label="打开全屏" @click="openLayer" />
4
+ <j-layer ref="layerRef" @ok="handleOk" @cancel="handleCancel">
5
+ <div style="padding: 16px">
6
+ <h3>全屏模式示例</h3>
7
+ <p>全屏模式会占据整个浏览器窗口。</p>
8
+ <p>适用于需要大量展示内容的场景。</p>
9
+ <div style="margin-top: 20px">
10
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
11
+ <p>Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
12
+ </div>
13
+ </div>
14
+ </j-layer>
15
+ </div>
16
+ </template>
17
+
18
+ <script setup lang="ts">
19
+ import { ref } from 'vue'
20
+
21
+ const layerRef = ref()
22
+
23
+ const openLayer = () => {
24
+ layerRef.value.open('全屏示例', 'full')
25
+ }
26
+
27
+ const handleOk = (showLoading: any, hideLoading: any) => {
28
+ showLoading('保存中...')
29
+ setTimeout(() => {
30
+ hideLoading()
31
+ layerRef.value.close()
32
+ }, 1500)
33
+ }
34
+
35
+ const handleCancel = () => {
36
+ layerRef.value.close()
37
+ }
38
+ </script>
@@ -1,34 +1,34 @@
1
- <template>
2
- <div>
3
- <j-button label="打开弹窗" @click="openLayer" />
4
- <j-layer ref="layerRef" :width="800" :height="500" @ok="handleOk" @cancel="handleCancel">
5
- <div style="padding: 16px">
6
- <p>这是弹窗模式的示例。</p>
7
- <p>可以通过 width 和 height 属性设置弹窗大小。</p>
8
- <p>弹窗支持拖拽和缩放功能。</p>
9
- </div>
10
- </j-layer>
11
- </div>
12
- </template>
13
-
14
- <script setup lang="ts">
15
- import { ref } from 'vue'
16
-
17
- const layerRef = ref()
18
-
19
- const openLayer = () => {
20
- layerRef.value.open('弹窗示例', 'modal')
21
- }
22
-
23
- const handleOk = (showLoading: any, hideLoading: any) => {
24
- showLoading('处理中...')
25
- setTimeout(() => {
26
- hideLoading()
27
- layerRef.value.close()
28
- }, 1000)
29
- }
30
-
31
- const handleCancel = () => {
32
- layerRef.value.close()
33
- }
34
- </script>
1
+ <template>
2
+ <div>
3
+ <j-button label="打开弹窗" @click="openLayer" />
4
+ <j-layer ref="layerRef" :width="800" :height="500" @ok="handleOk" @cancel="handleCancel">
5
+ <div style="padding: 16px">
6
+ <p>这是弹窗模式的示例。</p>
7
+ <p>可以通过 width 和 height 属性设置弹窗大小。</p>
8
+ <p>弹窗支持拖拽和缩放功能。</p>
9
+ </div>
10
+ </j-layer>
11
+ </div>
12
+ </template>
13
+
14
+ <script setup lang="ts">
15
+ import { ref } from 'vue'
16
+
17
+ const layerRef = ref()
18
+
19
+ const openLayer = () => {
20
+ layerRef.value.open('弹窗示例', 'modal')
21
+ }
22
+
23
+ const handleOk = (showLoading: any, hideLoading: any) => {
24
+ showLoading('处理中...')
25
+ setTimeout(() => {
26
+ hideLoading()
27
+ layerRef.value.close()
28
+ }, 1000)
29
+ }
30
+
31
+ const handleCancel = () => {
32
+ layerRef.value.close()
33
+ }
34
+ </script>
@@ -1,46 +1,46 @@
1
- <template>
2
- <div>
3
- <j-button label="打开步骤弹窗" @click="openLayer" />
4
- <j-layer
5
- ref="layerRef"
6
- :is-step="true"
7
- :steps="['基本信息', '详细配置', '确认提交']"
8
- :validate-steps="validateSteps"
9
- @ok="handleOk"
10
- @cancel="handleCancel"
11
- >
12
- <div style="padding: 16px">
13
- <p>这是带步骤条的 Layer 组件示例。</p>
14
- <p>适用于多步骤表单或向导式流程。</p>
15
- <p>可以配置步骤校验函数。</p>
16
- </div>
17
- </j-layer>
18
- </div>
19
- </template>
20
-
21
- <script setup lang="ts">
22
- import { ref } from 'vue'
23
-
24
- const layerRef = ref()
25
-
26
- const openLayer = () => {
27
- layerRef.value.open('步骤弹窗示例', 'modal')
28
- }
29
-
30
- const validateSteps = (step: number) => {
31
- console.log('校验步骤:', step)
32
- return true
33
- }
34
-
35
- const handleOk = (showLoading: any, hideLoading: any) => {
36
- showLoading('提交中...')
37
- setTimeout(() => {
38
- hideLoading()
39
- layerRef.value.close()
40
- }, 1000)
41
- }
42
-
43
- const handleCancel = () => {
44
- layerRef.value.close()
45
- }
46
- </script>
1
+ <template>
2
+ <div>
3
+ <j-button label="打开步骤弹窗" @click="openLayer" />
4
+ <j-layer
5
+ ref="layerRef"
6
+ :is-step="true"
7
+ :steps="['基本信息', '详细配置', '确认提交']"
8
+ :validate-steps="validateSteps"
9
+ @ok="handleOk"
10
+ @cancel="handleCancel"
11
+ >
12
+ <div style="padding: 16px">
13
+ <p>这是带步骤条的 Layer 组件示例。</p>
14
+ <p>适用于多步骤表单或向导式流程。</p>
15
+ <p>可以配置步骤校验函数。</p>
16
+ </div>
17
+ </j-layer>
18
+ </div>
19
+ </template>
20
+
21
+ <script setup lang="ts">
22
+ import { ref } from 'vue'
23
+
24
+ const layerRef = ref()
25
+
26
+ const openLayer = () => {
27
+ layerRef.value.open('步骤弹窗示例', 'modal')
28
+ }
29
+
30
+ const validateSteps = (step: number) => {
31
+ console.log('校验步骤:', step)
32
+ return true
33
+ }
34
+
35
+ const handleOk = (showLoading: any, hideLoading: any) => {
36
+ showLoading('提交中...')
37
+ setTimeout(() => {
38
+ hideLoading()
39
+ layerRef.value.close()
40
+ }, 1000)
41
+ }
42
+
43
+ const handleCancel = () => {
44
+ layerRef.value.close()
45
+ }
46
+ </script>