el-plus 0.0.113 → 0.0.115

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 (255) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +85 -85
  3. package/dist/index.css +1 -1
  4. package/dist/index.full.js +15 -5
  5. package/dist/index.full.min.js +4 -4
  6. package/dist/index.full.min.js.map +1 -1
  7. package/dist/index.full.min.mjs +4 -4
  8. package/dist/index.full.min.mjs.map +1 -1
  9. package/dist/index.full.mjs +15 -6
  10. package/docs/CHANGELOG.md +5 -5
  11. package/docs/api-examples.md +49 -49
  12. package/docs/components/attachment.md +118 -111
  13. package/docs/components/buttons.md +179 -179
  14. package/docs/components/custom-column.md +70 -70
  15. package/docs/components/date-picker-range.md +61 -61
  16. package/docs/components/dialog.md +104 -104
  17. package/docs/components/footer-info.md +101 -101
  18. package/docs/components/form.md +211 -211
  19. package/docs/components/header.md +117 -117
  20. package/docs/components/input.md +111 -111
  21. package/docs/components/link.md +63 -63
  22. package/docs/components/search-list-page.md +91 -91
  23. package/docs/components/select.md +249 -249
  24. package/docs/components/table.md +145 -145
  25. package/docs/components/title.md +70 -70
  26. package/docs/components/use-choose-dialog.md +114 -114
  27. package/docs/components/use-confirm-dialog.md +86 -86
  28. package/docs/components/use-form-dialog.md +85 -85
  29. package/docs/guide/markdown-examples.md +85 -85
  30. package/docs/hooks/use-navigation.md +131 -131
  31. package/docs/hooks/use-utils.md +162 -162
  32. package/docs/index.md +25 -25
  33. package/docs/overview.md +99 -99
  34. package/docs/pages/detail.md +66 -66
  35. package/docs/pages/list.md +74 -74
  36. package/docs/pages/router.md +151 -151
  37. package/es/components/attachment/index.d.ts +12 -2
  38. package/es/components/attachment/index.mjs +1 -1
  39. package/es/components/attachment/index.mjs.map +1 -1
  40. package/es/components/attachment/src/attachment.d.ts +6 -0
  41. package/es/components/attachment/src/attachment.mjs +7 -1
  42. package/es/components/attachment/src/attachment.mjs.map +1 -1
  43. package/es/components/attachment/src/attachment.vue.d.ts +5 -1
  44. package/es/components/attachment/src/attachment.vue2.mjs +7 -4
  45. package/es/components/attachment/src/attachment.vue2.mjs.map +1 -1
  46. package/es/components/attachment/src/use-attachment.mjs.map +1 -1
  47. package/es/components/buttons/index.mjs.map +1 -1
  48. package/es/components/buttons/src/buttons-vue.mjs.map +1 -1
  49. package/es/components/buttons/src/buttons.mjs.map +1 -1
  50. package/es/components/custom-column/index.mjs.map +1 -1
  51. package/es/components/custom-column/src/custom-column.mjs.map +1 -1
  52. package/es/components/custom-column/src/custom-column.vue2.mjs.map +1 -1
  53. package/es/components/date-picker-range/index.mjs.map +1 -1
  54. package/es/components/date-picker-range/src/date-picker-range.mjs.map +1 -1
  55. package/es/components/date-picker-range/src/date-picker-range.vue2.mjs.map +1 -1
  56. package/es/components/footer-info/index.mjs.map +1 -1
  57. package/es/components/footer-info/src/footer-info.mjs.map +1 -1
  58. package/es/components/footer-info/src/footer-info.vue2.mjs.map +1 -1
  59. package/es/components/form/index.mjs.map +1 -1
  60. package/es/components/form/src/form-item-vue.mjs.map +1 -1
  61. package/es/components/form/src/form-item.mjs.map +1 -1
  62. package/es/components/form/src/form.mjs.map +1 -1
  63. package/es/components/form/src/form.vue2.mjs.map +1 -1
  64. package/es/components/form/src/hooks/use-form-item.mjs.map +1 -1
  65. package/es/components/form/src/hooks/use-form.mjs.map +1 -1
  66. package/es/components/header/index.mjs.map +1 -1
  67. package/es/components/header/src/header.mjs.map +1 -1
  68. package/es/components/header/src/header.vue2.mjs.map +1 -1
  69. package/es/components/header/src/use-header.mjs.map +1 -1
  70. package/es/components/index.mjs +1 -1
  71. package/es/components/input/index.mjs.map +1 -1
  72. package/es/components/input/src/input.mjs.map +1 -1
  73. package/es/components/input/src/input.vue2.mjs.map +1 -1
  74. package/es/components/link/index.mjs.map +1 -1
  75. package/es/components/link/src/link.mjs.map +1 -1
  76. package/es/components/link/src/link.vue2.mjs.map +1 -1
  77. package/es/components/search-list-page/index.mjs.map +1 -1
  78. package/es/components/search-list-page/src/search-list-page.mjs.map +1 -1
  79. package/es/components/search-list-page/src/search-list-page.vue2.mjs.map +1 -1
  80. package/es/components/search-list-page/src/use-search-list-page.mjs.map +1 -1
  81. package/es/components/select/index.mjs.map +1 -1
  82. package/es/components/select/src/select.mjs.map +1 -1
  83. package/es/components/select/src/select.vue2.mjs.map +1 -1
  84. package/es/components/select/src/use-select.mjs.map +1 -1
  85. package/es/components/table/index.mjs.map +1 -1
  86. package/es/components/table/src/table.mjs.map +1 -1
  87. package/es/components/table/src/table.vue2.mjs.map +1 -1
  88. package/es/components/table/src/use-table.mjs.map +1 -1
  89. package/es/components/title/index.mjs.map +1 -1
  90. package/es/components/title/src/title.mjs.map +1 -1
  91. package/es/components/title/src/title.vue2.mjs.map +1 -1
  92. package/es/components/title/src/use-title.mjs.map +1 -1
  93. package/es/components/uni-vue/index.mjs.map +1 -1
  94. package/es/components/uni-vue/src/uni-vue.mjs.map +1 -1
  95. package/es/components/uni-vue/src/uni-vue.vue2.mjs.map +1 -1
  96. package/es/components/uni-vue/src/use-uni-vue.mjs.map +1 -1
  97. package/es/components.mjs.map +1 -1
  98. package/es/directives/permission/index.mjs.map +1 -1
  99. package/es/directives/repeat-click/index.mjs.map +1 -1
  100. package/es/hooks/dialog/use-choose-dialog.mjs.map +1 -1
  101. package/es/hooks/dialog/use-confirm-dialog.mjs.map +1 -1
  102. package/es/hooks/dialog/use-dialog.mjs.map +1 -1
  103. package/es/hooks/dialog/use-form-dialog.mjs.map +1 -1
  104. package/es/hooks/use-locale.mjs.map +1 -1
  105. package/es/hooks/use-navigation.mjs.map +1 -1
  106. package/es/hooks/use-request.mjs.map +1 -1
  107. package/es/hooks/use-template-promise.mjs.map +1 -1
  108. package/es/hooks/use-utils.mjs.map +1 -1
  109. package/es/index.mjs +1 -1
  110. package/es/index.mjs.map +1 -1
  111. package/es/locale/lang/en.mjs.map +1 -1
  112. package/es/locale/lang/zh-cn.mjs.map +1 -1
  113. package/es/package.json.mjs +1 -1
  114. package/es/plugins/globalProperties.mjs.map +1 -1
  115. package/es/types/global.d.ts +30 -30
  116. package/es/types/index.d.ts +2 -2
  117. package/es/types/utils.d.ts +19 -19
  118. package/es/utils/bem.mjs.map +1 -1
  119. package/es/utils/cookie.mjs.map +1 -1
  120. package/es/utils/dom.mjs.map +1 -1
  121. package/es/utils/env.mjs.map +1 -1
  122. package/es/utils/file.mjs.map +1 -1
  123. package/es/utils/http/core/modules/interceptor.mjs.map +1 -1
  124. package/es/utils/http/core/modules/loading.mjs.map +1 -1
  125. package/es/utils/http/core/preset-interceptors.mjs.map +1 -1
  126. package/es/utils/http/core/request-client.mjs.map +1 -1
  127. package/es/utils/http/index.mjs.map +1 -1
  128. package/es/utils/mitt.mjs.map +1 -1
  129. package/es/utils/navigation.mjs.map +1 -1
  130. package/es/utils/props.mjs.map +1 -1
  131. package/es/utils/time.mjs.map +1 -1
  132. package/es/utils/utils.mjs.map +1 -1
  133. package/es/utils/with-install.mjs.map +1 -1
  134. package/global.d.ts +21 -21
  135. package/lib/components/attachment/index.d.ts +12 -2
  136. package/lib/components/attachment/index.js +1 -0
  137. package/lib/components/attachment/index.js.map +1 -1
  138. package/lib/components/attachment/src/attachment.d.ts +6 -0
  139. package/lib/components/attachment/src/attachment.js +7 -0
  140. package/lib/components/attachment/src/attachment.js.map +1 -1
  141. package/lib/components/attachment/src/attachment.vue.d.ts +5 -1
  142. package/lib/components/attachment/src/attachment.vue2.js +6 -3
  143. package/lib/components/attachment/src/attachment.vue2.js.map +1 -1
  144. package/lib/components/attachment/src/use-attachment.js.map +1 -1
  145. package/lib/components/buttons/index.js.map +1 -1
  146. package/lib/components/buttons/src/buttons-vue.js.map +1 -1
  147. package/lib/components/buttons/src/buttons.js.map +1 -1
  148. package/lib/components/custom-column/index.js.map +1 -1
  149. package/lib/components/custom-column/src/custom-column.js.map +1 -1
  150. package/lib/components/custom-column/src/custom-column.vue2.js.map +1 -1
  151. package/lib/components/date-picker-range/index.js.map +1 -1
  152. package/lib/components/date-picker-range/src/date-picker-range.js.map +1 -1
  153. package/lib/components/date-picker-range/src/date-picker-range.vue2.js.map +1 -1
  154. package/lib/components/footer-info/index.js.map +1 -1
  155. package/lib/components/footer-info/src/footer-info.js.map +1 -1
  156. package/lib/components/footer-info/src/footer-info.vue2.js.map +1 -1
  157. package/lib/components/form/index.js.map +1 -1
  158. package/lib/components/form/src/form-item-vue.js.map +1 -1
  159. package/lib/components/form/src/form-item.js.map +1 -1
  160. package/lib/components/form/src/form.js.map +1 -1
  161. package/lib/components/form/src/form.vue2.js.map +1 -1
  162. package/lib/components/form/src/hooks/use-form-item.js.map +1 -1
  163. package/lib/components/form/src/hooks/use-form.js.map +1 -1
  164. package/lib/components/header/index.js.map +1 -1
  165. package/lib/components/header/src/header.js.map +1 -1
  166. package/lib/components/header/src/header.vue2.js.map +1 -1
  167. package/lib/components/header/src/use-header.js.map +1 -1
  168. package/lib/components/index.js +1 -0
  169. package/lib/components/index.js.map +1 -1
  170. package/lib/components/input/index.js.map +1 -1
  171. package/lib/components/input/src/input.js.map +1 -1
  172. package/lib/components/input/src/input.vue2.js.map +1 -1
  173. package/lib/components/link/index.js.map +1 -1
  174. package/lib/components/link/src/link.js.map +1 -1
  175. package/lib/components/link/src/link.vue2.js.map +1 -1
  176. package/lib/components/search-list-page/index.js.map +1 -1
  177. package/lib/components/search-list-page/src/search-list-page.js.map +1 -1
  178. package/lib/components/search-list-page/src/search-list-page.vue2.js.map +1 -1
  179. package/lib/components/search-list-page/src/use-search-list-page.js.map +1 -1
  180. package/lib/components/select/index.js.map +1 -1
  181. package/lib/components/select/src/select.js.map +1 -1
  182. package/lib/components/select/src/select.vue2.js.map +1 -1
  183. package/lib/components/select/src/use-select.js.map +1 -1
  184. package/lib/components/table/index.js.map +1 -1
  185. package/lib/components/table/src/table.js.map +1 -1
  186. package/lib/components/table/src/table.vue2.js.map +1 -1
  187. package/lib/components/table/src/use-table.js.map +1 -1
  188. package/lib/components/title/index.js.map +1 -1
  189. package/lib/components/title/src/title.js.map +1 -1
  190. package/lib/components/title/src/title.vue2.js.map +1 -1
  191. package/lib/components/title/src/use-title.js.map +1 -1
  192. package/lib/components/uni-vue/index.js.map +1 -1
  193. package/lib/components/uni-vue/src/uni-vue.js.map +1 -1
  194. package/lib/components/uni-vue/src/uni-vue.vue2.js.map +1 -1
  195. package/lib/components/uni-vue/src/use-uni-vue.js.map +1 -1
  196. package/lib/components.js.map +1 -1
  197. package/lib/directives/permission/index.js.map +1 -1
  198. package/lib/directives/repeat-click/index.js.map +1 -1
  199. package/lib/hooks/dialog/use-choose-dialog.js.map +1 -1
  200. package/lib/hooks/dialog/use-confirm-dialog.js.map +1 -1
  201. package/lib/hooks/dialog/use-dialog.js.map +1 -1
  202. package/lib/hooks/dialog/use-form-dialog.js.map +1 -1
  203. package/lib/hooks/use-locale.js.map +1 -1
  204. package/lib/hooks/use-navigation.js.map +1 -1
  205. package/lib/hooks/use-request.js.map +1 -1
  206. package/lib/hooks/use-template-promise.js.map +1 -1
  207. package/lib/hooks/use-utils.js.map +1 -1
  208. package/lib/index.js +1 -0
  209. package/lib/index.js.map +1 -1
  210. package/lib/locale/lang/en.js.map +1 -1
  211. package/lib/locale/lang/zh-cn.js.map +1 -1
  212. package/lib/package.json.js +1 -1
  213. package/lib/plugins/globalProperties.js.map +1 -1
  214. package/lib/types/global.d.ts +30 -30
  215. package/lib/types/index.d.ts +2 -2
  216. package/lib/types/utils.d.ts +19 -19
  217. package/lib/utils/bem.js.map +1 -1
  218. package/lib/utils/cookie.js.map +1 -1
  219. package/lib/utils/dom.js.map +1 -1
  220. package/lib/utils/env.js.map +1 -1
  221. package/lib/utils/file.js.map +1 -1
  222. package/lib/utils/http/core/modules/interceptor.js.map +1 -1
  223. package/lib/utils/http/core/modules/loading.js.map +1 -1
  224. package/lib/utils/http/core/preset-interceptors.js.map +1 -1
  225. package/lib/utils/http/core/request-client.js.map +1 -1
  226. package/lib/utils/http/index.js.map +1 -1
  227. package/lib/utils/mitt.js.map +1 -1
  228. package/lib/utils/navigation.js.map +1 -1
  229. package/lib/utils/props.js.map +1 -1
  230. package/lib/utils/time.js.map +1 -1
  231. package/lib/utils/utils.js.map +1 -1
  232. package/lib/utils/with-install.js.map +1 -1
  233. package/package.json +1 -1
  234. package/theme-chalk/base.css +1 -1
  235. package/theme-chalk/index.css +1 -1
  236. package/theme-chalk/src/attachment.scss +39 -39
  237. package/theme-chalk/src/base.scss +2 -2
  238. package/theme-chalk/src/buttons.scss +22 -22
  239. package/theme-chalk/src/common/common.scss +7 -4
  240. package/theme-chalk/src/common/transition.scss +9 -9
  241. package/theme-chalk/src/custom-column.scss +55 -55
  242. package/theme-chalk/src/dialog.scss +62 -62
  243. package/theme-chalk/src/footer-info.scss +18 -18
  244. package/theme-chalk/src/form.scss +80 -72
  245. package/theme-chalk/src/header.scss +19 -19
  246. package/theme-chalk/src/index.scss +15 -15
  247. package/theme-chalk/src/link.scss +5 -5
  248. package/theme-chalk/src/mixins/config.scss +3 -3
  249. package/theme-chalk/src/mixins/mixins.scss +37 -37
  250. package/theme-chalk/src/search-list-page.scss +22 -22
  251. package/theme-chalk/src/select.scss +10 -10
  252. package/theme-chalk/src/table.scss +91 -91
  253. package/theme-chalk/src/tabs.scss +55 -55
  254. package/theme-chalk/src/title.scss +52 -52
  255. package/theme-chalk/src/uni-vue.scss +10 -10
@@ -1,111 +1,111 @@
1
- # EpInput 输入框
2
-
3
- 基于 el-input 封装,增加数字格式化等功能。
4
-
5
- ## 基本用法
6
-
7
- ```vue
8
- <template>
9
- <EpInput v-model="value" />
10
- </template>
11
-
12
- <script setup>
13
- import { ref } from 'vue'
14
-
15
- const value = ref('')
16
- </script>
17
- ```
18
-
19
- ## Props
20
-
21
- | 属性 | 说明 | 类型 | 默认值 |
22
- |------|------|------|--------|
23
- | v-model | 绑定值 ^el^ | `string \| number` | - |
24
- | placeholder | 占位文本 ^el^ | `string` | '请输入' |
25
- | clearable | 是否可清空 ^el^ | `boolean` | `true` |
26
- | max | 最大值(数字模式) | `number` | - |
27
- | min | 最小值(数字模式) | `number` | - |
28
- | radix | 小数位数 | `number` | - |
29
- | nonzero | 不允许为零 | `boolean` | `false` |
30
- | thousand | 千分位格式化 | `boolean` | `true` |
31
-
32
- > ^el^ 表示继承自 [el-input](https://element-plus.org/zh-CN/component/input.html) 的属性
33
-
34
- ## 注意事项
35
-
36
- ### 属性默认值
37
- - 有默认值的属性无需显式设置,只有需要修改默认值时才需要配置。
38
- 如:`clearable` 默认为 `true`,无需显式设置。只有需要 `clearable: false` 时才需设置。
39
- - 数值相关属性(`max`、`min`、`radix`、`nonzero`)默认不设置,只有明确需要时才添加。
40
-
41
- ```json
42
- // ❌ 错误:无需设置默认值属性
43
- { "prop": "name", "props": { "clearable": true } }
44
- // ✅ 正确:使用默认值
45
- { "prop": "name" }
46
-
47
- // ❌ 错误:数值文本框默认不加数值相关属性
48
- { "prop": "amount", "label": "金额", "props": { "thousand": true } }
49
- // ✅ 正确:数值文本框无需设置数值相关属性
50
- { "prop": "amount", "label": "金额" }
51
- // ✅ 正确:有特殊需求时才设置
52
- { "prop": "amount", "label": "金额", "props": { "radix": 2, "max": 999999 } }
53
- ```
54
-
55
- ## 在 Form 中使用
56
-
57
- ```tsx
58
- const formItemList = [
59
- {
60
- prop: 'name',
61
- label: '名称',
62
- },
63
- {
64
- prop: 'number',
65
- label: '数字',
66
- },
67
- {
68
- prop: 'remark',
69
- label: '备注',
70
- col: 24,
71
- props: {
72
- type: 'textarea',
73
- rows: 4,
74
- maxlength: 200,
75
- showWordLimit: true,
76
- },
77
- },
78
- ]
79
- ```
80
-
81
- ## 数字输入
82
-
83
- ```tsx
84
- const formItemList = [
85
- {
86
- prop: 'amount',
87
- label: '金额',
88
- props: {
89
- max: 999999,
90
- min: 0,
91
- radix: 2, // 保留2位小数
92
- thousand: true, // 千分位
93
- },
94
- },
95
- ]
96
- ```
97
-
98
- ## 格式化显示
99
-
100
- 通过 `formatter` 属性自定义显示格式:
101
-
102
- ```tsx
103
- {
104
- prop: 'value',
105
- label: '值',
106
- disabled: true,
107
- props: {
108
- formatter: (value) => `${value} 元`,
109
- },
110
- }
111
- ```
1
+ # EpInput 输入框
2
+
3
+ 基于 el-input 封装,增加数字格式化等功能。
4
+
5
+ ## 基本用法
6
+
7
+ ```vue
8
+ <template>
9
+ <EpInput v-model="value" />
10
+ </template>
11
+
12
+ <script setup>
13
+ import { ref } from 'vue'
14
+
15
+ const value = ref('')
16
+ </script>
17
+ ```
18
+
19
+ ## Props
20
+
21
+ | 属性 | 说明 | 类型 | 默认值 |
22
+ |------|------|------|--------|
23
+ | v-model | 绑定值 ^el^ | `string \| number` | - |
24
+ | placeholder | 占位文本 ^el^ | `string` | '请输入' |
25
+ | clearable | 是否可清空 ^el^ | `boolean` | `true` |
26
+ | max | 最大值(数字模式) | `number` | - |
27
+ | min | 最小值(数字模式) | `number` | - |
28
+ | radix | 小数位数 | `number` | - |
29
+ | nonzero | 不允许为零 | `boolean` | `false` |
30
+ | thousand | 千分位格式化 | `boolean` | `true` |
31
+
32
+ > ^el^ 表示继承自 [el-input](https://element-plus.org/zh-CN/component/input.html) 的属性
33
+
34
+ ## 注意事项
35
+
36
+ ### 属性默认值
37
+ - 有默认值的属性无需显式设置,只有需要修改默认值时才需要配置。
38
+ 如:`clearable` 默认为 `true`,无需显式设置。只有需要 `clearable: false` 时才需设置。
39
+ - 数值相关属性(`max`、`min`、`radix`、`nonzero`)默认不设置,只有明确需要时才添加。
40
+
41
+ ```json
42
+ // ❌ 错误:无需设置默认值属性
43
+ { "prop": "name", "props": { "clearable": true } }
44
+ // ✅ 正确:使用默认值
45
+ { "prop": "name" }
46
+
47
+ // ❌ 错误:数值文本框默认不加数值相关属性
48
+ { "prop": "amount", "label": "金额", "props": { "thousand": true } }
49
+ // ✅ 正确:数值文本框无需设置数值相关属性
50
+ { "prop": "amount", "label": "金额" }
51
+ // ✅ 正确:有特殊需求时才设置
52
+ { "prop": "amount", "label": "金额", "props": { "radix": 2, "max": 999999 } }
53
+ ```
54
+
55
+ ## 在 Form 中使用
56
+
57
+ ```tsx
58
+ const formItemList = [
59
+ {
60
+ prop: 'name',
61
+ label: '名称',
62
+ },
63
+ {
64
+ prop: 'number',
65
+ label: '数字',
66
+ },
67
+ {
68
+ prop: 'remark',
69
+ label: '备注',
70
+ col: 24,
71
+ props: {
72
+ type: 'textarea',
73
+ rows: 4,
74
+ maxlength: 200,
75
+ showWordLimit: true,
76
+ },
77
+ },
78
+ ]
79
+ ```
80
+
81
+ ## 数字输入
82
+
83
+ ```tsx
84
+ const formItemList = [
85
+ {
86
+ prop: 'amount',
87
+ label: '金额',
88
+ props: {
89
+ max: 999999,
90
+ min: 0,
91
+ radix: 2, // 保留2位小数
92
+ thousand: true, // 千分位
93
+ },
94
+ },
95
+ ]
96
+ ```
97
+
98
+ ## 格式化显示
99
+
100
+ 通过 `formatter` 属性自定义显示格式:
101
+
102
+ ```tsx
103
+ {
104
+ prop: 'value',
105
+ label: '值',
106
+ disabled: true,
107
+ props: {
108
+ formatter: (value) => `${value} 元`,
109
+ },
110
+ }
111
+ ```
@@ -1,63 +1,63 @@
1
- # EpLink 链接
2
-
3
- 基于 el-link 封装的链接组件。
4
-
5
- ## 基本用法
6
-
7
- ```vue
8
- <template>
9
- <EpLink content="查看详情" @click="handleClick" />
10
- </template>
11
-
12
- <script setup>
13
- const handleClick = () => {
14
- console.log('点击')
15
- }
16
- </script>
17
- ```
18
-
19
- ## Props
20
-
21
- | 属性 | 说明 | 类型 | 默认值 |
22
- |------|------|------|--------|
23
- | content | 链接文本 | `string` | - |
24
- | type | 类型 ^el^ | `'primary' \| 'success' \| 'warning' \| 'danger' \| 'info'` | `'primary'` |
25
- | underline | 下划线 ^el^ | `'always' \| 'hover' \| 'never'` | `'never'` |
26
- | disabled | 是否禁用 ^el^ | `boolean` | `false` |
27
- | href | 链接地址 ^el^ | `string` | - |
28
-
29
- > ^el^ 表示继承自 [el-link](https://element-plus.org/zh-CN/component/link.html) 的属性
30
-
31
- ## 在表格中使用
32
-
33
- ```tsx
34
- const columns = [
35
- {
36
- prop: 'orderNo',
37
- label: '订单号',
38
- type: 'EpLink',
39
- props: {
40
- onClick: (row) => {
41
- // 跳转详情
42
- },
43
- },
44
- },
45
- ]
46
- ```
47
-
48
- ## 在 Form 中使用
49
-
50
- ```tsx
51
- const formItemList = [
52
- {
53
- prop: 'relatedNo',
54
- label: '关联单号',
55
- type: 'EpLink',
56
- props: {
57
- onClick: () => {
58
- // 跳转关联单据
59
- },
60
- },
61
- },
62
- ]
63
- ```
1
+ # EpLink 链接
2
+
3
+ 基于 el-link 封装的链接组件。
4
+
5
+ ## 基本用法
6
+
7
+ ```vue
8
+ <template>
9
+ <EpLink content="查看详情" @click="handleClick" />
10
+ </template>
11
+
12
+ <script setup>
13
+ const handleClick = () => {
14
+ console.log('点击')
15
+ }
16
+ </script>
17
+ ```
18
+
19
+ ## Props
20
+
21
+ | 属性 | 说明 | 类型 | 默认值 |
22
+ |------|------|------|--------|
23
+ | content | 链接文本 | `string` | - |
24
+ | type | 类型 ^el^ | `'primary' \| 'success' \| 'warning' \| 'danger' \| 'info'` | `'primary'` |
25
+ | underline | 下划线 ^el^ | `'always' \| 'hover' \| 'never'` | `'never'` |
26
+ | disabled | 是否禁用 ^el^ | `boolean` | `false` |
27
+ | href | 链接地址 ^el^ | `string` | - |
28
+
29
+ > ^el^ 表示继承自 [el-link](https://element-plus.org/zh-CN/component/link.html) 的属性
30
+
31
+ ## 在表格中使用
32
+
33
+ ```tsx
34
+ const columns = [
35
+ {
36
+ prop: 'orderNo',
37
+ label: '订单号',
38
+ type: 'EpLink',
39
+ props: {
40
+ onClick: (row) => {
41
+ // 跳转详情
42
+ },
43
+ },
44
+ },
45
+ ]
46
+ ```
47
+
48
+ ## 在 Form 中使用
49
+
50
+ ```tsx
51
+ const formItemList = [
52
+ {
53
+ prop: 'relatedNo',
54
+ label: '关联单号',
55
+ type: 'EpLink',
56
+ props: {
57
+ onClick: () => {
58
+ // 跳转关联单据
59
+ },
60
+ },
61
+ },
62
+ ]
63
+ ```
@@ -1,91 +1,91 @@
1
- # EpSearchListPage 搜索列表页
2
-
3
- 集成搜索表单和数据表格的列表页容器组件。
4
-
5
- ## 基本用法
6
-
7
- ```vue
8
- <template>
9
- <EpSearchListPage
10
- :form-item-list="formItemList"
11
- :form-data="formData"
12
- :columns="columns"
13
- :left-buttons="leftButtons"
14
- api="/api/list/page"
15
- :add="handleAdd"
16
- show-selection-col
17
- :action-buttons="actionButtons"
18
- />
19
- </template>
20
-
21
- <script setup lang="tsx">
22
- import { ref, reactive } from 'vue'
23
- import type { SearchListPageProps } from 'el-plus'
24
-
25
- const formData = reactive({})
26
-
27
- const formItemList = ref<SearchListPageProps['formItemList']>([
28
- { prop: 'name', label: '名称' },
29
- { prop: 'status', label: '状态', type: 'EpSelect', props: { options: [] } },
30
- ])
31
- // 如果有自定义列,就不需要定义 columns
32
- const columns = [
33
- { prop: 'name', label: '名称' },
34
- { prop: 'status', label: '状态' },
35
- ]
36
-
37
- const leftButtons = ref<SearchListPageProps['leftButtons']>([
38
- { name: '删除', prop: 'delete', type: 'danger' },
39
- ])
40
-
41
- const actionButtons = ref<SearchListPageProps['actionButtons']>([
42
- { name: '编辑', prop: 'edit', onClick: (row) => {} },
43
- { name: '删除', prop: 'delete', onClick: (row) => {} },
44
- ])
45
-
46
- const handleAdd = () => {}
47
- </script>
48
- ```
49
-
50
- ## Props
51
-
52
- | 属性 | 说明 | 类型 | 默认值 |
53
- |------|------|------|--------|
54
- | api | 列表接口地址 | `string \| (reqData) => Promise` | - |
55
- | method | 请求方法 | `string` | `'post'` |
56
- | reqData | 请求体数据 | `object` | `{}` |
57
- | reqParams | URL 参数 | `object` | `{}` |
58
- | reqBefore | 请求前处理 | `(reqData) => reqData` | - |
59
- | reqAfter | 响应后处理 | `(res) => data` | - |
60
- | formData | 表单数据,参考 [EpForm 表单数据说明](./form.md#表单数据) | `object` | `{}` |
61
- | formItemList | 搜索表单配置 | [`FormItemProps[]`](./form.md#formitemprops-配置) | `[]` |
62
- | columns | 表格列配置(有customColumnModule就不需要定义列) | [`TableColumn[]`](./table.md#tablecolumn-配置) | `[]` |
63
- | leftButtons | 左侧按钮 | [`ButtonProps[]`](./buttons.md#buttonprops-配置) | `[]` |
64
- | actionButtons | 操作列按钮 | [`ButtonProps[]`](./buttons.md#buttonprops-配置) | `[]` |
65
- | add | 新增按钮回调 | `Function` | - |
66
- | showSelectionCol | 显示多选列 | `boolean` | `false` |
67
- | showSingleSelectionCol | 显示单选列 | `boolean` | `false` |
68
- | showIndexCol | 显示序号列 | `boolean` | `true` |
69
- | showOperationColumn | 显示操作列 | `boolean` | - |
70
- | minWidth | 列最小宽度 | `number \| string` | - |
71
- | actionColWidth | 操作列宽度 | `number \| string` | `200` |
72
- | formatColumns | 格式化列配置 | [`TableColumn[]`](./table.md#tablecolumn-配置) | `[]` |
73
- | offsetTop | 表格额外距离 | `number` | `0` |
74
- | isInitSearch | 是否初始化加载 | `boolean` | `true` |
75
- | tableProps | 表格额外属性 | `object` | - |
76
- | formProps | 表单额外属性 | `object` | - |
77
- | buttonsProps | 按钮组额外属性 | `object` | - |
78
- | name | 权限前缀 | `string` | - |
79
- | customColumnModule | 自定义列模块 | `string \| number` | - |
80
-
81
- ::: warning 互斥关系
82
- `customColumnModule` 和以下配置是**互斥**的:
83
- - `columns`:设置了 `customColumnModule` 后会忽略 `columns`
84
- - `leftButtons` 中的"自定义列设置"按钮:组件会自动内置该按钮
85
-
86
- **正确用法**:
87
- - 启用自定义列:`customColumnModule: "moduleName"`(无需配 columns 和自定义列按钮)
88
- - 固定列模式:不设置 `customColumnModule`,使用 `columns` 配置
89
- :::
90
- | customColumnApi | 自定义列接口 | `string` | - |
91
- | customColumnSaveApi | 自定义列保存接口 | `string` | - |
1
+ # EpSearchListPage 搜索列表页
2
+
3
+ 集成搜索表单和数据表格的列表页容器组件。
4
+
5
+ ## 基本用法
6
+
7
+ ```vue
8
+ <template>
9
+ <EpSearchListPage
10
+ :form-item-list="formItemList"
11
+ :form-data="formData"
12
+ :columns="columns"
13
+ :left-buttons="leftButtons"
14
+ api="/api/list/page"
15
+ :add="handleAdd"
16
+ show-selection-col
17
+ :action-buttons="actionButtons"
18
+ />
19
+ </template>
20
+
21
+ <script setup lang="tsx">
22
+ import { ref, reactive } from 'vue'
23
+ import type { SearchListPageProps } from 'el-plus'
24
+
25
+ const formData = reactive({})
26
+
27
+ const formItemList = ref<SearchListPageProps['formItemList']>([
28
+ { prop: 'name', label: '名称' },
29
+ { prop: 'status', label: '状态', type: 'EpSelect', props: { options: [] } },
30
+ ])
31
+ // 如果有自定义列,就不需要定义 columns
32
+ const columns = [
33
+ { prop: 'name', label: '名称' },
34
+ { prop: 'status', label: '状态' },
35
+ ]
36
+
37
+ const leftButtons = ref<SearchListPageProps['leftButtons']>([
38
+ { name: '删除', prop: 'delete', type: 'danger' },
39
+ ])
40
+
41
+ const actionButtons = ref<SearchListPageProps['actionButtons']>([
42
+ { name: '编辑', prop: 'edit', onClick: (row) => {} },
43
+ { name: '删除', prop: 'delete', onClick: (row) => {} },
44
+ ])
45
+
46
+ const handleAdd = () => {}
47
+ </script>
48
+ ```
49
+
50
+ ## Props
51
+
52
+ | 属性 | 说明 | 类型 | 默认值 |
53
+ |------|------|------|--------|
54
+ | api | 列表接口地址 | `string \| (reqData) => Promise` | - |
55
+ | method | 请求方法 | `string` | `'post'` |
56
+ | reqData | 请求体数据 | `object` | `{}` |
57
+ | reqParams | URL 参数 | `object` | `{}` |
58
+ | reqBefore | 请求前处理 | `(reqData) => reqData` | - |
59
+ | reqAfter | 响应后处理 | `(res) => data` | - |
60
+ | formData | 表单数据,参考 [EpForm 表单数据说明](./form.md#表单数据) | `object` | `{}` |
61
+ | formItemList | 搜索表单配置 | [`FormItemProps[]`](./form.md#formitemprops-配置) | `[]` |
62
+ | columns | 表格列配置(有customColumnModule就不需要定义列) | [`TableColumn[]`](./table.md#tablecolumn-配置) | `[]` |
63
+ | leftButtons | 左侧按钮 | [`ButtonProps[]`](./buttons.md#buttonprops-配置) | `[]` |
64
+ | actionButtons | 操作列按钮 | [`ButtonProps[]`](./buttons.md#buttonprops-配置) | `[]` |
65
+ | add | 新增按钮回调 | `Function` | - |
66
+ | showSelectionCol | 显示多选列 | `boolean` | `false` |
67
+ | showSingleSelectionCol | 显示单选列 | `boolean` | `false` |
68
+ | showIndexCol | 显示序号列 | `boolean` | `true` |
69
+ | showOperationColumn | 显示操作列 | `boolean` | - |
70
+ | minWidth | 列最小宽度 | `number \| string` | - |
71
+ | actionColWidth | 操作列宽度 | `number \| string` | `200` |
72
+ | formatColumns | 格式化列配置 | [`TableColumn[]`](./table.md#tablecolumn-配置) | `[]` |
73
+ | offsetTop | 表格额外距离 | `number` | `0` |
74
+ | isInitSearch | 是否初始化加载 | `boolean` | `true` |
75
+ | tableProps | 表格额外属性 | `object` | - |
76
+ | formProps | 表单额外属性 | `object` | - |
77
+ | buttonsProps | 按钮组额外属性 | `object` | - |
78
+ | name | 权限前缀 | `string` | - |
79
+ | customColumnModule | 自定义列模块 | `string \| number` | - |
80
+
81
+ ::: warning 互斥关系
82
+ `customColumnModule` 和以下配置是**互斥**的:
83
+ - `columns`:设置了 `customColumnModule` 后会忽略 `columns`
84
+ - `leftButtons` 中的"自定义列设置"按钮:组件会自动内置该按钮
85
+
86
+ **正确用法**:
87
+ - 启用自定义列:`customColumnModule: "moduleName"`(无需配 columns 和自定义列按钮)
88
+ - 固定列模式:不设置 `customColumnModule`,使用 `columns` 配置
89
+ :::
90
+ | customColumnApi | 自定义列接口 | `string` | - |
91
+ | customColumnSaveApi | 自定义列保存接口 | `string` | - |