ele-admin-plus 1.2.1 → 1.2.2-beta.1

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 (38) hide show
  1. package/es/ele-app/components/form-item-rest.d.ts +4 -0
  2. package/es/ele-app/components/form-item-rest.js +15 -0
  3. package/es/ele-data-table/index.js +3 -3
  4. package/es/ele-dropdown/components/pro-dropdown.d.ts +9 -0
  5. package/es/ele-dropdown/index.d.ts +11 -2
  6. package/es/ele-dropdown/index.js +3 -1
  7. package/es/ele-dropdown/props.d.ts +11 -2
  8. package/es/ele-dropdown/props.js +6 -1
  9. package/es/ele-file-list/index.js +2 -1
  10. package/es/ele-pro-table/components/table-tools.js +1 -0
  11. package/es/ele-pro-table/index.js +19 -5
  12. package/es/ele-segmented/index.d.ts +9 -0
  13. package/es/ele-segmented/index.js +3 -1
  14. package/es/ele-segmented/props.d.ts +5 -0
  15. package/es/ele-segmented/props.js +6 -1
  16. package/es/ele-tab-wrap/components/tab-dropdown.js +2 -1
  17. package/es/ele-tabs/index.js +1 -0
  18. package/es/icons/LoadingOutlined.js +1 -1
  19. package/lib/ele-app/components/form-item-rest.cjs +14 -0
  20. package/lib/ele-app/components/form-item-rest.d.ts +4 -0
  21. package/lib/ele-data-table/index.cjs +3 -3
  22. package/lib/ele-dropdown/components/pro-dropdown.d.ts +9 -0
  23. package/lib/ele-dropdown/index.cjs +3 -1
  24. package/lib/ele-dropdown/index.d.ts +11 -2
  25. package/lib/ele-dropdown/props.cjs +6 -1
  26. package/lib/ele-dropdown/props.d.ts +11 -2
  27. package/lib/ele-file-list/index.cjs +2 -1
  28. package/lib/ele-pro-table/components/table-tools.cjs +1 -0
  29. package/lib/ele-pro-table/index.cjs +19 -5
  30. package/lib/ele-segmented/index.cjs +3 -1
  31. package/lib/ele-segmented/index.d.ts +9 -0
  32. package/lib/ele-segmented/props.cjs +6 -1
  33. package/lib/ele-segmented/props.d.ts +5 -0
  34. package/lib/ele-tab-wrap/components/tab-dropdown.cjs +2 -1
  35. package/lib/ele-tabs/index.cjs +1 -0
  36. package/lib/icons/LoadingOutlined.cjs +1 -1
  37. package/package.json +1 -1
  38. package/typings/global.d.ts +1 -1
@@ -0,0 +1,4 @@
1
+ declare const _default: import('vue').DefineComponent<{}, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
2
+ [key: string]: any;
3
+ }>[] | undefined, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{}>>, {}, {}>;
4
+ export default _default;
@@ -0,0 +1,15 @@
1
+ import { defineComponent, provide } from "vue";
2
+ import { formItemContextKey } from "element-plus";
3
+ const formItemRest = defineComponent({
4
+ name: "FormItemRest",
5
+ setup(_props, { slots }) {
6
+ provide(formItemContextKey, null);
7
+ return () => {
8
+ var _a;
9
+ return (_a = slots.default) == null ? void 0 : _a.call(slots);
10
+ };
11
+ }
12
+ });
13
+ export {
14
+ formItemRest as default
15
+ };
@@ -331,10 +331,10 @@ const index = /* @__PURE__ */ defineComponent({
331
331
  }), {
332
332
  header: (slotProps) => {
333
333
  var _a, _b, _c;
334
- return col.headerSlot && !ownSlots.includes(col.headerSlot) && slots[col.headerSlot] ? (_a = slots[col.headerSlot]) == null ? void 0 : _a.call(slots, slotProps) : createVNode("div", {
334
+ return createVNode("div", {
335
335
  "class": "ele-cell-title",
336
- "title": (_b = slotProps == null ? void 0 : slotProps.column) == null ? void 0 : _b.label
337
- }, [(_c = slotProps == null ? void 0 : slotProps.column) == null ? void 0 : _c.label]);
336
+ "title": (_a = slotProps == null ? void 0 : slotProps.column) == null ? void 0 : _a.label
337
+ }, [col.headerSlot && !ownSlots.includes(col.headerSlot) && slots[col.headerSlot] ? (_b = slots[col.headerSlot]) == null ? void 0 : _b.call(slots, slotProps) : (_c = slotProps == null ? void 0 : slotProps.column) == null ? void 0 : _c.label]);
338
338
  },
339
339
  ["filter-icon"]: (slotProps) => {
340
340
  var _a;
@@ -17,6 +17,10 @@ declare const _default: import('vue').DefineComponent<{
17
17
  preventContextmenu: BooleanConstructor;
18
18
  splitButtonProps: PropType<import('../../ele-app/el').ElButtonProps>;
19
19
  caretButtonProps: PropType<import('../../ele-app/el').ElButtonProps>;
20
+ formValidate: {
21
+ type: BooleanConstructor;
22
+ default: boolean;
23
+ };
20
24
  type: {
21
25
  readonly type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<(new (...args: any[]) => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown> & {}) | (() => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown>) | ((new (...args: any[]) => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown> & {}) | (() => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown>))[], unknown, unknown>>;
22
26
  readonly required: false;
@@ -128,6 +132,10 @@ declare const _default: import('vue').DefineComponent<{
128
132
  preventContextmenu: BooleanConstructor;
129
133
  splitButtonProps: PropType<import('../../ele-app/el').ElButtonProps>;
130
134
  caretButtonProps: PropType<import('../../ele-app/el').ElButtonProps>;
135
+ formValidate: {
136
+ type: BooleanConstructor;
137
+ default: boolean;
138
+ };
131
139
  type: {
132
140
  readonly type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<(new (...args: any[]) => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown> & {}) | (() => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown>) | ((new (...args: any[]) => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown> & {}) | (() => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown>))[], unknown, unknown>>;
133
141
  readonly required: false;
@@ -234,5 +242,6 @@ declare const _default: import('vue').DefineComponent<{
234
242
  virtualTriggering: boolean;
235
243
  gpuAcceleration: import('element-plus/es/utils/index').EpPropMergeType<BooleanConstructor, unknown, unknown>;
236
244
  preventContextmenu: boolean;
245
+ formValidate: boolean;
237
246
  }, {}>;
238
247
  export default _default;
@@ -17,6 +17,10 @@ declare const _default: import('vue').DefineComponent<{
17
17
  preventContextmenu: BooleanConstructor;
18
18
  splitButtonProps: import('vue').PropType<import('../ele-app/el').ElButtonProps>;
19
19
  caretButtonProps: import('vue').PropType<import('../ele-app/el').ElButtonProps>;
20
+ formValidate: {
21
+ type: BooleanConstructor;
22
+ default: boolean;
23
+ };
20
24
  type: {
21
25
  readonly type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<(new (...args: any[]) => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown> & {}) | (() => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown>) | ((new (...args: any[]) => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown> & {}) | (() => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown>))[], unknown, unknown>>;
22
26
  readonly required: false;
@@ -30,7 +34,7 @@ declare const _default: import('vue').DefineComponent<{
30
34
  readonly validator: ((val: unknown) => boolean) | undefined;
31
35
  readonly __epPropKey: true;
32
36
  };
33
- placement: import('element-plus/es/utils/index').EpPropFinalized<(new (...args: any[]) => import('element-plus').Placement & {}) | (() => import('element-plus').Placement) | ((new (...args: any[]) => import('element-plus').Placement & {}) | (() => import('element-plus').Placement))[], unknown, unknown, "bottom", boolean>;
37
+ placement: import('element-plus/es/utils/index').EpPropFinalized<(new (... /** 关闭下拉菜单 */args: any[]) => import('element-plus').Placement & {}) | (() => import('element-plus').Placement) | ((new (...args: any[]) => import('element-plus').Placement & {}) | (() => import('element-plus').Placement))[], unknown, unknown, "bottom", boolean>;
34
38
  popperClass: import('element-plus/es/utils/index').EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
35
39
  teleported: import('element-plus/es/utils/index').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
36
40
  disabled: BooleanConstructor;
@@ -120,6 +124,10 @@ declare const _default: import('vue').DefineComponent<{
120
124
  preventContextmenu: BooleanConstructor;
121
125
  splitButtonProps: import('vue').PropType<import('../ele-app/el').ElButtonProps>;
122
126
  caretButtonProps: import('vue').PropType<import('../ele-app/el').ElButtonProps>;
127
+ formValidate: {
128
+ type: BooleanConstructor;
129
+ default: boolean;
130
+ };
123
131
  type: {
124
132
  readonly type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<(new (...args: any[]) => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown> & {}) | (() => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown>) | ((new (...args: any[]) => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown> & {}) | (() => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown>))[], unknown, unknown>>;
125
133
  readonly required: false;
@@ -133,7 +141,7 @@ declare const _default: import('vue').DefineComponent<{
133
141
  readonly validator: ((val: unknown) => boolean) | undefined;
134
142
  readonly __epPropKey: true;
135
143
  };
136
- placement: import('element-plus/es/utils/index').EpPropFinalized<(new (...args: any[]) => import('element-plus').Placement & {}) | (() => import('element-plus').Placement) | ((new (...args: any[]) => import('element-plus').Placement & {}) | (() => import('element-plus').Placement))[], unknown, unknown, "bottom", boolean>;
144
+ placement: import('element-plus/es/utils/index').EpPropFinalized<(new (... /** 关闭下拉菜单 */args: any[]) => import('element-plus').Placement & {}) | (() => import('element-plus').Placement) | ((new (...args: any[]) => import('element-plus').Placement & {}) | (() => import('element-plus').Placement))[], unknown, unknown, "bottom", boolean>;
137
145
  popperClass: import('element-plus/es/utils/index').EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
138
146
  teleported: import('element-plus/es/utils/index').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
139
147
  disabled: BooleanConstructor;
@@ -226,5 +234,6 @@ declare const _default: import('vue').DefineComponent<{
226
234
  virtualTriggering: boolean;
227
235
  gpuAcceleration: import('element-plus/es/utils/index').EpPropMergeType<BooleanConstructor, unknown, unknown>;
228
236
  preventContextmenu: boolean;
237
+ formValidate: boolean;
229
238
  }, {}>;
230
239
  export default _default;
@@ -38,7 +38,9 @@ const _sfc_main = defineComponent({
38
38
  const updateModelValue = (value) => {
39
39
  if (value !== props.modelValue) {
40
40
  emit("update:modelValue", value);
41
- validateChange();
41
+ if (props.formValidate) {
42
+ validateChange();
43
+ }
42
44
  emit("change", value);
43
45
  }
44
46
  };
@@ -14,7 +14,9 @@ declare const normalizeDropdownProps: import('../ele-app/types').Mutable<Omit<{
14
14
  readonly __epPropKey: true;
15
15
  };
16
16
  readonly type: {
17
- readonly type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<(new (...args: any[]) => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown> & {}) | (() => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown>) | ((new (...args: any[]) => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown> & {}) | (() => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown>))[], unknown, unknown>>;
17
+ readonly type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<(new (
18
+ /** 是否支持表单验证 */
19
+ ... /** 是否支持表单验证 */args: any[]) => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown> & {}) | (() => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown>) | ((new (...args: any[]) => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown> & {}) | (() => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown>))[], unknown, unknown>>;
18
20
  readonly required: false;
19
21
  readonly validator: ((val: unknown) => boolean) | undefined;
20
22
  __epPropKey: true;
@@ -66,8 +68,15 @@ export declare const dropdownProps: {
66
68
  splitButtonProps: PropType<ElButtonProps>;
67
69
  /** 箭头按钮属性 */
68
70
  caretButtonProps: PropType<ElButtonProps>;
71
+ /** 是否支持表单验证 */
72
+ formValidate: {
73
+ type: BooleanConstructor;
74
+ default: boolean;
75
+ };
69
76
  type: {
70
- readonly type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<(new (...args: any[]) => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown> & {}) | (() => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown>) | ((new (...args: any[]) => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown> & {}) | (() => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown>))[], unknown, unknown>>;
77
+ readonly type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<(new (
78
+ /** 是否支持表单验证 */
79
+ ... /** 是否支持表单验证 */args: any[]) => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown> & {}) | (() => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown>) | ((new (...args: any[]) => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown> & {}) | (() => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown>))[], unknown, unknown>>;
71
80
  readonly required: false;
72
81
  readonly validator: ((val: unknown) => boolean) | undefined;
73
82
  __epPropKey: true;
@@ -50,7 +50,12 @@ const dropdownProps = {
50
50
  /** 内容按钮属性 */
51
51
  splitButtonProps: Object,
52
52
  /** 箭头按钮属性 */
53
- caretButtonProps: Object
53
+ caretButtonProps: Object,
54
+ /** 是否支持表单验证 */
55
+ formValidate: {
56
+ type: Boolean,
57
+ default: true
58
+ }
54
59
  };
55
60
  const dropdownEmits = {
56
61
  ...popoverEmits,
@@ -356,7 +356,8 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
356
356
  key: 2,
357
357
  persistent: false,
358
358
  placement: "bottom-start",
359
- popperClass: "ele-file-list-item-context"
359
+ popperClass: "ele-file-list-item-context",
360
+ formValidate: false
360
361
  }, _ctx.contextMenuProps || {}, {
361
362
  ref: "ctxMenuDropdownRef",
362
363
  componentType: "pro",
@@ -306,6 +306,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
306
306
  createVNode(_component_EleDropdown, {
307
307
  trigger: "click",
308
308
  placement: "bottom",
309
+ formValidate: false,
309
310
  popperClass: "ele-tool-size-popper",
310
311
  modelValue: _ctx.size,
311
312
  items: _ctx.sizeDropdownItems,
@@ -235,14 +235,28 @@ const _sfc_main = defineComponent({
235
235
  );
236
236
  requestCallback(data, total, parent, result, resolve);
237
237
  }).catch((e) => {
238
- requestCallback(e == null ? void 0 : e.message);
238
+ const errorMsg = e == null ? void 0 : e.message;
239
+ requestCallback(
240
+ errorMsg == null ? errorMsg : String(errorMsg),
241
+ void 0,
242
+ parent,
243
+ e,
244
+ resolve
245
+ );
239
246
  resolve && console.error(e);
240
247
  });
241
248
  };
242
249
  const requestCallback = (data, total, parent, response, resolve) => {
243
- var _a;
244
- if (!Array.isArray(data)) {
245
- tableData.value = [];
250
+ var _a, _b;
251
+ if (data == null || !Array.isArray(data)) {
252
+ if (resolve) {
253
+ if (parent != null) {
254
+ parent[((_a = props.treeProps) == null ? void 0 : _a.children) || "children"] = [];
255
+ }
256
+ resolve([]);
257
+ } else {
258
+ tableData.value = [];
259
+ }
246
260
  tableLoading.value = false;
247
261
  if (typeof data === "string" && data) {
248
262
  errorText.value = data;
@@ -259,7 +273,7 @@ const _sfc_main = defineComponent({
259
273
  }
260
274
  if (resolve) {
261
275
  if (parent != null) {
262
- parent[((_a = props.treeProps) == null ? void 0 : _a.children) || "children"] = data;
276
+ parent[((_b = props.treeProps) == null ? void 0 : _b.children) || "children"] = data;
263
277
  }
264
278
  resolve(data);
265
279
  } else {
@@ -9,6 +9,10 @@ declare const _default: import('vue').DefineComponent<{
9
9
  required: boolean;
10
10
  };
11
11
  size: import('vue').PropType<import('./types').SegmentedSize>;
12
+ formValidate: {
13
+ type: BooleanConstructor;
14
+ default: boolean;
15
+ };
12
16
  }, {
13
17
  tabRef: import('vue').Ref<ElTabsInstance>;
14
18
  isEmptyActive: import('vue').ComputedRef<boolean>;
@@ -26,11 +30,16 @@ declare const _default: import('vue').DefineComponent<{
26
30
  required: boolean;
27
31
  };
28
32
  size: import('vue').PropType<import('./types').SegmentedSize>;
33
+ formValidate: {
34
+ type: BooleanConstructor;
35
+ default: boolean;
36
+ };
29
37
  }>> & {
30
38
  "onUpdate:modelValue"?: ((_value: string | number) => any) | undefined;
31
39
  onChange?: ((_active: string | number) => any) | undefined;
32
40
  }, {
33
41
  disabled: boolean;
34
42
  block: boolean;
43
+ formValidate: boolean;
35
44
  }, {}>;
36
45
  export default _default;
@@ -16,7 +16,9 @@ const _sfc_main = defineComponent({
16
16
  const handleUpdateModelValue = (value) => {
17
17
  if (props.modelValue !== value) {
18
18
  emit("update:modelValue", value);
19
- validateChange();
19
+ if (props.formValidate) {
20
+ validateChange();
21
+ }
20
22
  emit("change", value);
21
23
  }
22
24
  };
@@ -18,6 +18,11 @@ export declare const segmentedProps: {
18
18
  };
19
19
  /** 尺寸 */
20
20
  size: PropType<SegmentedSize>;
21
+ /** 是否支持表单验证 */
22
+ formValidate: {
23
+ type: BooleanConstructor;
24
+ default: boolean;
25
+ };
21
26
  };
22
27
  export type SegmentedProps = ExtractPropTypes<typeof segmentedProps>;
23
28
  /**
@@ -11,7 +11,12 @@ const segmentedProps = {
11
11
  required: true
12
12
  },
13
13
  /** 尺寸 */
14
- size: String
14
+ size: String,
15
+ /** 是否支持表单验证 */
16
+ formValidate: {
17
+ type: Boolean,
18
+ default: true
19
+ }
15
20
  };
16
21
  const segmentedEmits = {
17
22
  /** 更新绑定值 */
@@ -57,7 +57,8 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
57
57
  popperClass: "ele-tab-popup",
58
58
  popperOptions: {
59
59
  modifiers: [{ name: "offset", options: { offset: [12, 8] } }]
60
- }
60
+ },
61
+ formValidate: false
61
62
  }, _ctx.dropdownProps || {}, {
62
63
  ref: "dropdownRef",
63
64
  items: _ctx.items,
@@ -436,6 +436,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
436
436
  key: 0,
437
437
  triggerKeys: [],
438
438
  persistent: false,
439
+ formValidate: false,
439
440
  placement: "bottom-start",
440
441
  popperClass: "ele-tab-popup",
441
442
  popperOptions: {
@@ -16,7 +16,7 @@ const _hoisted_1 = {
16
16
  "stroke-width": "4",
17
17
  "stroke-linecap": "round"
18
18
  };
19
- const _hoisted_2 = /* @__PURE__ */ createElementVNode("path", { d: "M 22 6 C 34 6 42 14 42 26" }, null, -1);
19
+ const _hoisted_2 = /* @__PURE__ */ createElementVNode("path", { d: "M22 6C34 6 42 14 42 26" }, null, -1);
20
20
  const _hoisted_3 = [
21
21
  _hoisted_2
22
22
  ];
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ const vue = require("vue");
3
+ const elementPlus = require("element-plus");
4
+ const formItemRest = vue.defineComponent({
5
+ name: "FormItemRest",
6
+ setup(_props, { slots }) {
7
+ vue.provide(elementPlus.formItemContextKey, null);
8
+ return () => {
9
+ var _a;
10
+ return (_a = slots.default) == null ? void 0 : _a.call(slots);
11
+ };
12
+ }
13
+ });
14
+ module.exports = formItemRest;
@@ -0,0 +1,4 @@
1
+ declare const _default: import('vue').DefineComponent<{}, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
2
+ [key: string]: any;
3
+ }>[] | undefined, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{}>>, {}, {}>;
4
+ export default _default;
@@ -332,10 +332,10 @@ const index = /* @__PURE__ */ vue.defineComponent({
332
332
  }), {
333
333
  header: (slotProps) => {
334
334
  var _a, _b, _c;
335
- return col.headerSlot && !ownSlots.includes(col.headerSlot) && slots[col.headerSlot] ? (_a = slots[col.headerSlot]) == null ? void 0 : _a.call(slots, slotProps) : vue.createVNode("div", {
335
+ return vue.createVNode("div", {
336
336
  "class": "ele-cell-title",
337
- "title": (_b = slotProps == null ? void 0 : slotProps.column) == null ? void 0 : _b.label
338
- }, [(_c = slotProps == null ? void 0 : slotProps.column) == null ? void 0 : _c.label]);
337
+ "title": (_a = slotProps == null ? void 0 : slotProps.column) == null ? void 0 : _a.label
338
+ }, [col.headerSlot && !ownSlots.includes(col.headerSlot) && slots[col.headerSlot] ? (_b = slots[col.headerSlot]) == null ? void 0 : _b.call(slots, slotProps) : (_c = slotProps == null ? void 0 : slotProps.column) == null ? void 0 : _c.label]);
339
339
  },
340
340
  ["filter-icon"]: (slotProps) => {
341
341
  var _a;
@@ -17,6 +17,10 @@ declare const _default: import('vue').DefineComponent<{
17
17
  preventContextmenu: BooleanConstructor;
18
18
  splitButtonProps: PropType<import('../../ele-app/el').ElButtonProps>;
19
19
  caretButtonProps: PropType<import('../../ele-app/el').ElButtonProps>;
20
+ formValidate: {
21
+ type: BooleanConstructor;
22
+ default: boolean;
23
+ };
20
24
  type: {
21
25
  readonly type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<(new (...args: any[]) => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown> & {}) | (() => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown>) | ((new (...args: any[]) => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown> & {}) | (() => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown>))[], unknown, unknown>>;
22
26
  readonly required: false;
@@ -128,6 +132,10 @@ declare const _default: import('vue').DefineComponent<{
128
132
  preventContextmenu: BooleanConstructor;
129
133
  splitButtonProps: PropType<import('../../ele-app/el').ElButtonProps>;
130
134
  caretButtonProps: PropType<import('../../ele-app/el').ElButtonProps>;
135
+ formValidate: {
136
+ type: BooleanConstructor;
137
+ default: boolean;
138
+ };
131
139
  type: {
132
140
  readonly type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<(new (...args: any[]) => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown> & {}) | (() => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown>) | ((new (...args: any[]) => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown> & {}) | (() => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown>))[], unknown, unknown>>;
133
141
  readonly required: false;
@@ -234,5 +242,6 @@ declare const _default: import('vue').DefineComponent<{
234
242
  virtualTriggering: boolean;
235
243
  gpuAcceleration: import('element-plus/es/utils/index').EpPropMergeType<BooleanConstructor, unknown, unknown>;
236
244
  preventContextmenu: boolean;
245
+ formValidate: boolean;
237
246
  }, {}>;
238
247
  export default _default;
@@ -39,7 +39,9 @@ const _sfc_main = vue.defineComponent({
39
39
  const updateModelValue = (value) => {
40
40
  if (value !== props$1.modelValue) {
41
41
  emit("update:modelValue", value);
42
- validateChange();
42
+ if (props$1.formValidate) {
43
+ validateChange();
44
+ }
43
45
  emit("change", value);
44
46
  }
45
47
  };
@@ -17,6 +17,10 @@ declare const _default: import('vue').DefineComponent<{
17
17
  preventContextmenu: BooleanConstructor;
18
18
  splitButtonProps: import('vue').PropType<import('../ele-app/el').ElButtonProps>;
19
19
  caretButtonProps: import('vue').PropType<import('../ele-app/el').ElButtonProps>;
20
+ formValidate: {
21
+ type: BooleanConstructor;
22
+ default: boolean;
23
+ };
20
24
  type: {
21
25
  readonly type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<(new (...args: any[]) => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown> & {}) | (() => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown>) | ((new (...args: any[]) => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown> & {}) | (() => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown>))[], unknown, unknown>>;
22
26
  readonly required: false;
@@ -30,7 +34,7 @@ declare const _default: import('vue').DefineComponent<{
30
34
  readonly validator: ((val: unknown) => boolean) | undefined;
31
35
  readonly __epPropKey: true;
32
36
  };
33
- placement: import('element-plus/es/utils/index').EpPropFinalized<(new (...args: any[]) => import('element-plus').Placement & {}) | (() => import('element-plus').Placement) | ((new (...args: any[]) => import('element-plus').Placement & {}) | (() => import('element-plus').Placement))[], unknown, unknown, "bottom", boolean>;
37
+ placement: import('element-plus/es/utils/index').EpPropFinalized<(new (... /** 关闭下拉菜单 */args: any[]) => import('element-plus').Placement & {}) | (() => import('element-plus').Placement) | ((new (...args: any[]) => import('element-plus').Placement & {}) | (() => import('element-plus').Placement))[], unknown, unknown, "bottom", boolean>;
34
38
  popperClass: import('element-plus/es/utils/index').EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
35
39
  teleported: import('element-plus/es/utils/index').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
36
40
  disabled: BooleanConstructor;
@@ -120,6 +124,10 @@ declare const _default: import('vue').DefineComponent<{
120
124
  preventContextmenu: BooleanConstructor;
121
125
  splitButtonProps: import('vue').PropType<import('../ele-app/el').ElButtonProps>;
122
126
  caretButtonProps: import('vue').PropType<import('../ele-app/el').ElButtonProps>;
127
+ formValidate: {
128
+ type: BooleanConstructor;
129
+ default: boolean;
130
+ };
123
131
  type: {
124
132
  readonly type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<(new (...args: any[]) => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown> & {}) | (() => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown>) | ((new (...args: any[]) => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown> & {}) | (() => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown>))[], unknown, unknown>>;
125
133
  readonly required: false;
@@ -133,7 +141,7 @@ declare const _default: import('vue').DefineComponent<{
133
141
  readonly validator: ((val: unknown) => boolean) | undefined;
134
142
  readonly __epPropKey: true;
135
143
  };
136
- placement: import('element-plus/es/utils/index').EpPropFinalized<(new (...args: any[]) => import('element-plus').Placement & {}) | (() => import('element-plus').Placement) | ((new (...args: any[]) => import('element-plus').Placement & {}) | (() => import('element-plus').Placement))[], unknown, unknown, "bottom", boolean>;
144
+ placement: import('element-plus/es/utils/index').EpPropFinalized<(new (... /** 关闭下拉菜单 */args: any[]) => import('element-plus').Placement & {}) | (() => import('element-plus').Placement) | ((new (...args: any[]) => import('element-plus').Placement & {}) | (() => import('element-plus').Placement))[], unknown, unknown, "bottom", boolean>;
137
145
  popperClass: import('element-plus/es/utils/index').EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
138
146
  teleported: import('element-plus/es/utils/index').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
139
147
  disabled: BooleanConstructor;
@@ -226,5 +234,6 @@ declare const _default: import('vue').DefineComponent<{
226
234
  virtualTriggering: boolean;
227
235
  gpuAcceleration: import('element-plus/es/utils/index').EpPropMergeType<BooleanConstructor, unknown, unknown>;
228
236
  preventContextmenu: boolean;
237
+ formValidate: boolean;
229
238
  }, {}>;
230
239
  export default _default;
@@ -52,7 +52,12 @@ const dropdownProps = {
52
52
  /** 内容按钮属性 */
53
53
  splitButtonProps: Object,
54
54
  /** 箭头按钮属性 */
55
- caretButtonProps: Object
55
+ caretButtonProps: Object,
56
+ /** 是否支持表单验证 */
57
+ formValidate: {
58
+ type: Boolean,
59
+ default: true
60
+ }
56
61
  };
57
62
  const dropdownEmits = {
58
63
  ...props.popoverEmits,
@@ -14,7 +14,9 @@ declare const normalizeDropdownProps: import('../ele-app/types').Mutable<Omit<{
14
14
  readonly __epPropKey: true;
15
15
  };
16
16
  readonly type: {
17
- readonly type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<(new (...args: any[]) => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown> & {}) | (() => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown>) | ((new (...args: any[]) => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown> & {}) | (() => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown>))[], unknown, unknown>>;
17
+ readonly type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<(new (
18
+ /** 是否支持表单验证 */
19
+ ... /** 是否支持表单验证 */args: any[]) => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown> & {}) | (() => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown>) | ((new (...args: any[]) => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown> & {}) | (() => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown>))[], unknown, unknown>>;
18
20
  readonly required: false;
19
21
  readonly validator: ((val: unknown) => boolean) | undefined;
20
22
  __epPropKey: true;
@@ -66,8 +68,15 @@ export declare const dropdownProps: {
66
68
  splitButtonProps: PropType<ElButtonProps>;
67
69
  /** 箭头按钮属性 */
68
70
  caretButtonProps: PropType<ElButtonProps>;
71
+ /** 是否支持表单验证 */
72
+ formValidate: {
73
+ type: BooleanConstructor;
74
+ default: boolean;
75
+ };
69
76
  type: {
70
- readonly type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<(new (...args: any[]) => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown> & {}) | (() => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown>) | ((new (...args: any[]) => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown> & {}) | (() => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown>))[], unknown, unknown>>;
77
+ readonly type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<(new (
78
+ /** 是否支持表单验证 */
79
+ ... /** 是否支持表单验证 */args: any[]) => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown> & {}) | (() => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown>) | ((new (...args: any[]) => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown> & {}) | (() => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown>))[], unknown, unknown>>;
71
80
  readonly required: false;
72
81
  readonly validator: ((val: unknown) => boolean) | undefined;
73
82
  __epPropKey: true;
@@ -357,7 +357,8 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
357
357
  key: 2,
358
358
  persistent: false,
359
359
  placement: "bottom-start",
360
- popperClass: "ele-file-list-item-context"
360
+ popperClass: "ele-file-list-item-context",
361
+ formValidate: false
361
362
  }, _ctx.contextMenuProps || {}, {
362
363
  ref: "ctxMenuDropdownRef",
363
364
  componentType: "pro",
@@ -307,6 +307,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
307
307
  vue.createVNode(_component_EleDropdown, {
308
308
  trigger: "click",
309
309
  placement: "bottom",
310
+ formValidate: false,
310
311
  popperClass: "ele-tool-size-popper",
311
312
  modelValue: _ctx.size,
312
313
  items: _ctx.sizeDropdownItems,
@@ -236,14 +236,28 @@ const _sfc_main = vue.defineComponent({
236
236
  );
237
237
  requestCallback(data, total, parent, result, resolve);
238
238
  }).catch((e) => {
239
- requestCallback(e == null ? void 0 : e.message);
239
+ const errorMsg = e == null ? void 0 : e.message;
240
+ requestCallback(
241
+ errorMsg == null ? errorMsg : String(errorMsg),
242
+ void 0,
243
+ parent,
244
+ e,
245
+ resolve
246
+ );
240
247
  resolve && console.error(e);
241
248
  });
242
249
  };
243
250
  const requestCallback = (data, total, parent, response, resolve) => {
244
- var _a;
245
- if (!Array.isArray(data)) {
246
- tableData.value = [];
251
+ var _a, _b;
252
+ if (data == null || !Array.isArray(data)) {
253
+ if (resolve) {
254
+ if (parent != null) {
255
+ parent[((_a = props2.treeProps) == null ? void 0 : _a.children) || "children"] = [];
256
+ }
257
+ resolve([]);
258
+ } else {
259
+ tableData.value = [];
260
+ }
247
261
  tableLoading.value = false;
248
262
  if (typeof data === "string" && data) {
249
263
  errorText.value = data;
@@ -260,7 +274,7 @@ const _sfc_main = vue.defineComponent({
260
274
  }
261
275
  if (resolve) {
262
276
  if (parent != null) {
263
- parent[((_a = props2.treeProps) == null ? void 0 : _a.children) || "children"] = data;
277
+ parent[((_b = props2.treeProps) == null ? void 0 : _b.children) || "children"] = data;
264
278
  }
265
279
  resolve(data);
266
280
  } else {
@@ -17,7 +17,9 @@ const _sfc_main = vue.defineComponent({
17
17
  const handleUpdateModelValue = (value) => {
18
18
  if (props2.modelValue !== value) {
19
19
  emit("update:modelValue", value);
20
- validateChange();
20
+ if (props2.formValidate) {
21
+ validateChange();
22
+ }
21
23
  emit("change", value);
22
24
  }
23
25
  };
@@ -9,6 +9,10 @@ declare const _default: import('vue').DefineComponent<{
9
9
  required: boolean;
10
10
  };
11
11
  size: import('vue').PropType<import('./types').SegmentedSize>;
12
+ formValidate: {
13
+ type: BooleanConstructor;
14
+ default: boolean;
15
+ };
12
16
  }, {
13
17
  tabRef: import('vue').Ref<ElTabsInstance>;
14
18
  isEmptyActive: import('vue').ComputedRef<boolean>;
@@ -26,11 +30,16 @@ declare const _default: import('vue').DefineComponent<{
26
30
  required: boolean;
27
31
  };
28
32
  size: import('vue').PropType<import('./types').SegmentedSize>;
33
+ formValidate: {
34
+ type: BooleanConstructor;
35
+ default: boolean;
36
+ };
29
37
  }>> & {
30
38
  "onUpdate:modelValue"?: ((_value: string | number) => any) | undefined;
31
39
  onChange?: ((_active: string | number) => any) | undefined;
32
40
  }, {
33
41
  disabled: boolean;
34
42
  block: boolean;
43
+ formValidate: boolean;
35
44
  }, {}>;
36
45
  export default _default;
@@ -13,7 +13,12 @@ const segmentedProps = {
13
13
  required: true
14
14
  },
15
15
  /** 尺寸 */
16
- size: String
16
+ size: String,
17
+ /** 是否支持表单验证 */
18
+ formValidate: {
19
+ type: Boolean,
20
+ default: true
21
+ }
17
22
  };
18
23
  const segmentedEmits = {
19
24
  /** 更新绑定值 */
@@ -18,6 +18,11 @@ export declare const segmentedProps: {
18
18
  };
19
19
  /** 尺寸 */
20
20
  size: PropType<SegmentedSize>;
21
+ /** 是否支持表单验证 */
22
+ formValidate: {
23
+ type: BooleanConstructor;
24
+ default: boolean;
25
+ };
21
26
  };
22
27
  export type SegmentedProps = ExtractPropTypes<typeof segmentedProps>;
23
28
  /**
@@ -58,7 +58,8 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
58
58
  popperClass: "ele-tab-popup",
59
59
  popperOptions: {
60
60
  modifiers: [{ name: "offset", options: { offset: [12, 8] } }]
61
- }
61
+ },
62
+ formValidate: false
62
63
  }, _ctx.dropdownProps || {}, {
63
64
  ref: "dropdownRef",
64
65
  items: _ctx.items,
@@ -437,6 +437,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
437
437
  key: 0,
438
438
  triggerKeys: [],
439
439
  persistent: false,
440
+ formValidate: false,
440
441
  placement: "bottom-start",
441
442
  popperClass: "ele-tab-popup",
442
443
  popperOptions: {
@@ -17,7 +17,7 @@ const _hoisted_1 = {
17
17
  "stroke-width": "4",
18
18
  "stroke-linecap": "round"
19
19
  };
20
- const _hoisted_2 = /* @__PURE__ */ vue.createElementVNode("path", { d: "M 22 6 C 34 6 42 14 42 26" }, null, -1);
20
+ const _hoisted_2 = /* @__PURE__ */ vue.createElementVNode("path", { d: "M22 6C34 6 42 14 42 26" }, null, -1);
21
21
  const _hoisted_3 = [
22
22
  _hoisted_2
23
23
  ];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ele-admin-plus",
3
- "version": "1.2.1",
3
+ "version": "1.2.2-beta.1",
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "dev": "vite --host --config vite.global.ts",
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable @typescript-eslint/consistent-type-imports */
2
- declare module '@vue/runtime-core' {
2
+ declare module 'vue' {
3
3
  export interface GlobalComponents {
4
4
  EleAdminLayout: (typeof import('ele-admin-plus'))['EleAdminLayout'];
5
5
  EleAlert: (typeof import('ele-admin-plus'))['EleAlert'];