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,4 +1,4 @@
1
- /*! ElPlus v0.0.113 */
1
+ /*! ElPlus v0.0.115 */
2
2
 
3
3
  import { useAttrs, getCurrentInstance, inject, provide, ref, nextTick, defineComponent, computed, createVNode, Fragment, withDirectives, resolveComponent, mergeProps, resolveDirective, useTemplateRef, reactive, onBeforeUpdate, createTextVNode, h, mergeModels, useModel, createElementBlock, openBlock, normalizeStyle, normalizeClass, unref, createCommentVNode, withCtx, renderSlot, renderList, createBlock, vShow, toDisplayString, useSlots, watch, createSlots, normalizeProps, guardReactiveProps, markRaw, Transition, shallowReactive, isVNode, render, createElementVNode, toRaw, onMounted } from 'vue';
4
4
  import { buttonProps, useLocale as useLocale$1, ElLoading, ElMessage, ElMessageBox, formProps as formProps$1, formEmits as formEmits$1, ElTooltip, formItemProps as formItemProps$1, ElFormItem, ElForm, ElRow, ElCol, inputProps as inputProps$1, inputEmits as inputEmits$1, configProviderContextKey, ElConfigProvider, ElDialog, ElButton, ElTable, ElIcon, selectProps as selectProps$1, selectEmits as selectEmits$1, ElPageHeader, datePickerProps, linkProps as linkProps$1, ElSkeleton } from 'element-plus';
@@ -3544,6 +3544,12 @@ const attachmentProps = {
3544
3544
  type: String
3545
3545
  }
3546
3546
  };
3547
+ const attachmentEmits = {
3548
+ // 确认
3549
+ confirm: (data) => true,
3550
+ // 取消
3551
+ cancel: () => true
3552
+ };
3547
3553
 
3548
3554
  const getFullUrl = (filePath) => {
3549
3555
  return filePath.indexOf("hongxinshop.com") > -1 ? filePath : `${window.location.protocol}//${getEnv() === "local" ? `${getLocationEnv()}-hxjf.hongxinshop.com` : window.location.host}/image/${filePath}`;
@@ -3823,11 +3829,12 @@ var _sfc_main$5 = /* @__PURE__ */ defineComponent({
3823
3829
  "modelValue": {},
3824
3830
  "modelModifiers": {}
3825
3831
  }),
3826
- emits: ["update:modelValue"],
3827
- setup(__props, { expose: __expose }) {
3832
+ emits: /* @__PURE__ */ mergeModels(attachmentEmits, ["update:modelValue"]),
3833
+ setup(__props, { expose: __expose, emit: __emit }) {
3828
3834
  const { t } = useLocale();
3829
3835
  const bem = createNameSpace("attachment");
3830
3836
  const props = __props;
3837
+ const emit = __emit;
3831
3838
  const modelValue = useModel(__props, "modelValue");
3832
3839
  const {
3833
3840
  columns,
@@ -3855,10 +3862,12 @@ var _sfc_main$5 = /* @__PURE__ */ defineComponent({
3855
3862
  ),
3856
3863
  templatePromiseClass: bem.e("promise"),
3857
3864
  onConfirm: async (resolve) => {
3858
- onConfirm(resolve);
3865
+ await onConfirm(resolve);
3866
+ emit("confirm", modelValue.value);
3859
3867
  },
3860
3868
  onCancel: (resolve) => {
3861
3869
  onCancel(resolve);
3870
+ emit("cancel");
3862
3871
  }
3863
3872
  });
3864
3873
  const open = AttachmentDialog.open;
@@ -4555,7 +4564,7 @@ var components = [
4555
4564
  EpFooterInfo
4556
4565
  ];
4557
4566
 
4558
- var version = "0.0.113";
4567
+ var version = "0.0.115";
4559
4568
 
4560
4569
  var globalProperties = {
4561
4570
  install(app) {
@@ -4708,4 +4717,4 @@ const plugin = {
4708
4717
  version
4709
4718
  };
4710
4719
 
4711
- export { EpAttachment, EpButtons, EpCustomColumn, EpDatePickerRange, EpFooterInfo, EpForm, EpFormItem, EpHeader, EpInput, EpLink, EpSearchListPage, EpSelect, EpTable, EpTitle, EpUniVue, attachmentProps, buttonsProps, componentType, customColumnEmits, customColumnProps, datePickerRangeEmits, datePickerRangeProps, plugin as default, defaultFields, expandFormItemPropsKeys, expandFormPropsKeys, expandSelectPropsKeys, expandTablePropsKeys, footerInfoProps, formEmits, formEmitsKeys, formItemProps, formProps, headerEmits, headerProps, inheritSelectProps, inputEmits, inputEmitsKeys, inputProps, install, linkProps, searchListPageEmits, searchListPageProps, selectEmits, selectEmitsKeys, selectProps, tableEmits, tableEmitsKeys, tableProps, titleEmits, titleProps, uniVueProps, useChooseDialog, useConfirmDialog, useDialog, useFormDialog, useLocale, useNavigation, useRequest, useTemplatePromise, useUtils, vPermisson as vPermission, vRepeatClick };
4720
+ export { EpAttachment, EpButtons, EpCustomColumn, EpDatePickerRange, EpFooterInfo, EpForm, EpFormItem, EpHeader, EpInput, EpLink, EpSearchListPage, EpSelect, EpTable, EpTitle, EpUniVue, attachmentEmits, attachmentProps, buttonsProps, componentType, customColumnEmits, customColumnProps, datePickerRangeEmits, datePickerRangeProps, plugin as default, defaultFields, expandFormItemPropsKeys, expandFormPropsKeys, expandSelectPropsKeys, expandTablePropsKeys, footerInfoProps, formEmits, formEmitsKeys, formItemProps, formProps, headerEmits, headerProps, inheritSelectProps, inputEmits, inputEmitsKeys, inputProps, install, linkProps, searchListPageEmits, searchListPageProps, selectEmits, selectEmitsKeys, selectProps, tableEmits, tableEmitsKeys, tableProps, titleEmits, titleProps, uniVueProps, useChooseDialog, useConfirmDialog, useDialog, useFormDialog, useLocale, useNavigation, useRequest, useTemplatePromise, useUtils, vPermisson as vPermission, vRepeatClick };
package/docs/CHANGELOG.md CHANGED
@@ -1,5 +1,5 @@
1
- # docs
2
-
3
- ## 1.0.2
4
-
5
- ## 1.0.1
1
+ # docs
2
+
3
+ ## 1.0.2
4
+
5
+ ## 1.0.1
@@ -1,49 +1,49 @@
1
- ---
2
- outline: deep
3
- ---
4
-
5
- # Runtime API Examples
6
-
7
- This page demonstrates usage of some of the runtime APIs provided by VitePress.
8
-
9
- The main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:
10
-
11
- ```md
12
- <script setup>
13
- import { useData } from 'vitepress'
14
-
15
- const { theme, page, frontmatter } = useData()
16
- </script>
17
-
18
- ## Results
19
-
20
- ### Theme Data
21
- <pre>{{ theme }}</pre>
22
-
23
- ### Page Data
24
- <pre>{{ page }}</pre>
25
-
26
- ### Page Frontmatter
27
- <pre>{{ frontmatter }}</pre>
28
- ```
29
-
30
- <script setup>
31
- import { useData } from 'vitepress'
32
-
33
- const { site, theme, page, frontmatter } = useData()
34
- </script>
35
-
36
- ## Results
37
-
38
- ### Theme Data
39
- <pre>{{ theme }}</pre>
40
-
41
- ### Page Data
42
- <pre>{{ page }}</pre>
43
-
44
- ### Page Frontmatter
45
- <pre>{{ frontmatter }}</pre>
46
-
47
- ## More
48
-
49
- Check out the documentation for the [full list of runtime APIs](https://vitepress.dev/reference/runtime-api#usedata).
1
+ ---
2
+ outline: deep
3
+ ---
4
+
5
+ # Runtime API Examples
6
+
7
+ This page demonstrates usage of some of the runtime APIs provided by VitePress.
8
+
9
+ The main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:
10
+
11
+ ```md
12
+ <script setup>
13
+ import { useData } from 'vitepress'
14
+
15
+ const { theme, page, frontmatter } = useData()
16
+ </script>
17
+
18
+ ## Results
19
+
20
+ ### Theme Data
21
+ <pre>{{ theme }}</pre>
22
+
23
+ ### Page Data
24
+ <pre>{{ page }}</pre>
25
+
26
+ ### Page Frontmatter
27
+ <pre>{{ frontmatter }}</pre>
28
+ ```
29
+
30
+ <script setup>
31
+ import { useData } from 'vitepress'
32
+
33
+ const { site, theme, page, frontmatter } = useData()
34
+ </script>
35
+
36
+ ## Results
37
+
38
+ ### Theme Data
39
+ <pre>{{ theme }}</pre>
40
+
41
+ ### Page Data
42
+ <pre>{{ page }}</pre>
43
+
44
+ ### Page Frontmatter
45
+ <pre>{{ frontmatter }}</pre>
46
+
47
+ ## More
48
+
49
+ Check out the documentation for the [full list of runtime APIs](https://vitepress.dev/reference/runtime-api#usedata).
@@ -1,111 +1,118 @@
1
- # EpAttachment 附件管理
2
-
3
- 附件上传和管理组件,支持对话框和内嵌两种模式。
4
-
5
- ## 基本用法
6
-
7
- ```vue
8
- <template>
9
- <EpAttachment v-model="fileList" />
10
- </template>
11
-
12
- <script setup>
13
- import { ref } from 'vue'
14
-
15
- const fileList = ref([])
16
- </script>
17
- ```
18
-
19
- ## Props
20
-
21
- | 属性 | 说明 | 类型 | 默认值 |
22
- |------|------|------|--------|
23
- | v-model | 附件列表 | `array` | `[]` |
24
- | mode | 页面模式 | `'add' \| 'edit' \| 'view'` | - |
25
- | openType | 展示模式 | `'dialog' \| 'normal'` | `'dialog'` |
26
- | isType | 是否需要类型 | `boolean` | `true` |
27
- | isNote | 是否需要备注 | `boolean` | `false` |
28
- | isShowOpenDialogButton | 显示打开弹窗按钮 | `boolean` | `false` |
29
- | formatColumns | 格式化列配置 | [`TableColumn[]`](./table.md#tablecolumn-配置) | `[]` |
30
- | beforeAdd | 添加前校验 | `(fileItem) => boolean` | - |
31
- | permission | 权限标识 | `string` | - |
32
-
33
- ## 在 Form 中使用
34
-
35
- ```tsx
36
- const formItemList = [
37
- {
38
- col: 24,
39
- type: 'EpAttachment',
40
- props: {
41
- modelValue: formData.fileList,
42
- openType: 'normal',
43
- formatColumns: [
44
- {
45
- prop: 'type',
46
- props: {
47
- options: [
48
- { label: '图片', value: 0 },
49
- { label: '普通附件', value: 2 },
50
- ],
51
- },
52
- },
53
- ],
54
- },
55
- },
56
- ]
57
- ```
58
-
59
- ## 配合 EpHeader 使用
60
-
61
- ```vue
62
- <template>
63
- <EpHeader
64
- :buttons="headerButtons"
65
- is-show-attachment-button
66
- :file-list="formData.fileList"
67
- :attachment-props="attachmentProps"
68
- />
69
- </template>
70
-
71
- <script setup>
72
- const attachmentProps = {
73
- formatColumns: [
74
- {
75
- prop: 'type',
76
- props: {
77
- options: [
78
- { label: '图片', value: 0 },
79
- { label: '附件', value: 2 },
80
- ],
81
- },
82
- },
83
- ],
84
- }
85
- </script>
86
- ```
87
-
88
- ## 内嵌模式
89
-
90
- ```tsx
91
- {
92
- type: 'EpAttachment',
93
- props: {
94
- openType: 'normal', // 内嵌模式,直接显示附件表格
95
- modelValue: formData.fileList,
96
- },
97
- }
98
- ```
99
-
100
- ## 对话框模式
101
-
102
- ```tsx
103
- {
104
- type: 'EpAttachment',
105
- props: {
106
- openType: 'dialog', // 对话框模式,点击按钮打开
107
- isShowOpenDialogButton: true,
108
- modelValue: formData.fileList,
109
- },
110
- }
111
- ```
1
+ # EpAttachment 附件管理
2
+
3
+ 附件上传和管理组件,支持对话框和内嵌两种模式。
4
+
5
+ ## 基本用法
6
+
7
+ ```vue
8
+ <template>
9
+ <EpAttachment v-model="fileList" />
10
+ </template>
11
+
12
+ <script setup>
13
+ import { ref } from 'vue'
14
+
15
+ const fileList = ref([])
16
+ </script>
17
+ ```
18
+
19
+ ## Props
20
+
21
+ | 属性 | 说明 | 类型 | 默认值 |
22
+ |------|------|------|--------|
23
+ | v-model | 附件列表 | `array` | `[]` |
24
+ | mode | 页面模式 | `'add' \| 'edit' \| 'view'` | - |
25
+ | openType | 展示模式 | `'dialog' \| 'normal'` | `'dialog'` |
26
+ | isType | 是否需要类型 | `boolean` | `true` |
27
+ | isNote | 是否需要备注 | `boolean` | `false` |
28
+ | isShowOpenDialogButton | 显示打开弹窗按钮 | `boolean` | `false` |
29
+ | formatColumns | 格式化列配置 | [`TableColumn[]`](./table.md#tablecolumn-配置) | `[]` |
30
+ | beforeAdd | 添加前校验 | `(fileItem) => boolean` | - |
31
+ | permission | 权限标识 | `string` | - |
32
+
33
+ ## Events
34
+
35
+ | 事件名 | 说明 | 回调参数 |
36
+ |------|------|------|
37
+ | confirm | 对话框确认时触发(校验通过后) | `(data: Record<string, any>[])` 当前附件列表 |
38
+ | cancel | 对话框取消时触发 | - |
39
+
40
+ ## 在 Form 中使用
41
+
42
+ ```tsx
43
+ const formItemList = [
44
+ {
45
+ col: 24,
46
+ type: 'EpAttachment',
47
+ props: {
48
+ modelValue: formData.fileList,
49
+ openType: 'normal',
50
+ formatColumns: [
51
+ {
52
+ prop: 'type',
53
+ props: {
54
+ options: [
55
+ { label: '图片', value: 0 },
56
+ { label: '普通附件', value: 2 },
57
+ ],
58
+ },
59
+ },
60
+ ],
61
+ },
62
+ },
63
+ ]
64
+ ```
65
+
66
+ ## 配合 EpHeader 使用
67
+
68
+ ```vue
69
+ <template>
70
+ <EpHeader
71
+ :buttons="headerButtons"
72
+ is-show-attachment-button
73
+ :file-list="formData.fileList"
74
+ :attachment-props="attachmentProps"
75
+ />
76
+ </template>
77
+
78
+ <script setup>
79
+ const attachmentProps = {
80
+ formatColumns: [
81
+ {
82
+ prop: 'type',
83
+ props: {
84
+ options: [
85
+ { label: '图片', value: 0 },
86
+ { label: '附件', value: 2 },
87
+ ],
88
+ },
89
+ },
90
+ ],
91
+ }
92
+ </script>
93
+ ```
94
+
95
+ ## 内嵌模式
96
+
97
+ ```tsx
98
+ {
99
+ type: 'EpAttachment',
100
+ props: {
101
+ openType: 'normal', // 内嵌模式,直接显示附件表格
102
+ modelValue: formData.fileList,
103
+ },
104
+ }
105
+ ```
106
+
107
+ ## 对话框模式
108
+
109
+ ```tsx
110
+ {
111
+ type: 'EpAttachment',
112
+ props: {
113
+ openType: 'dialog', // 对话框模式,点击按钮打开
114
+ isShowOpenDialogButton: true,
115
+ modelValue: formData.fileList,
116
+ },
117
+ }
118
+ ```