el-plus 0.0.101 → 0.0.103

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 (80) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +28 -18
  4. package/dist/index.full.min.js +4 -4
  5. package/dist/index.full.min.js.map +1 -1
  6. package/dist/index.full.min.mjs +4 -4
  7. package/dist/index.full.min.mjs.map +1 -1
  8. package/dist/index.full.mjs +29 -19
  9. package/docs/components/use-choose-dialog.md +0 -1
  10. package/docs/components/use-confirm-dialog.md +0 -1
  11. package/docs/components/use-form-dialog.md +0 -1
  12. package/es/components/custom-column/index.d.ts +12 -12
  13. package/es/components/custom-column/src/custom-column.d.ts +2 -2
  14. package/es/components/custom-column/src/custom-column.vue.d.ts +6 -6
  15. package/es/components/input/src/input.vue2.mjs +4 -4
  16. package/es/components/input/src/input.vue2.mjs.map +1 -1
  17. package/es/components/search-list-page/index.d.ts +84 -84
  18. package/es/components/search-list-page/src/search-list-page.d.ts +5 -5
  19. package/es/components/search-list-page/src/search-list-page.vue.d.ts +33 -33
  20. package/es/components/search-list-page/src/search-list-page.vue2.mjs +7 -4
  21. package/es/components/search-list-page/src/search-list-page.vue2.mjs.map +1 -1
  22. package/es/components/search-list-page/src/use-search-list-page.d.ts +26 -26
  23. package/es/components/search-list-page/src/use-search-list-page.mjs +14 -7
  24. package/es/components/search-list-page/src/use-search-list-page.mjs.map +1 -1
  25. package/es/components/select/index.d.ts +9 -9
  26. package/es/components/select/src/select.d.ts +3 -3
  27. package/es/components/select/src/select.vue.d.ts +6 -6
  28. package/es/components/table/index.d.ts +21 -21
  29. package/es/components/table/src/table.d.ts +5 -5
  30. package/es/components/table/src/table.vue.d.ts +12 -12
  31. package/es/components/table/src/table.vue2.mjs +2 -1
  32. package/es/components/table/src/table.vue2.mjs.map +1 -1
  33. package/es/hooks/dialog/use-dialog.mjs +0 -1
  34. package/es/hooks/dialog/use-dialog.mjs.map +1 -1
  35. package/es/hooks/use-request.d.ts +1 -1
  36. package/es/hooks/use-request.mjs.map +1 -1
  37. package/es/package.json.mjs +1 -1
  38. package/es/types/index.d.ts +0 -1
  39. package/es/utils/http/core/types.d.ts +6 -1
  40. package/es/utils/props.d.ts +1 -1
  41. package/es/utils/props.mjs.map +1 -1
  42. package/lib/components/custom-column/index.d.ts +12 -12
  43. package/lib/components/custom-column/src/custom-column.d.ts +2 -2
  44. package/lib/components/custom-column/src/custom-column.vue.d.ts +6 -6
  45. package/lib/components/input/src/input.vue2.js +3 -3
  46. package/lib/components/input/src/input.vue2.js.map +1 -1
  47. package/lib/components/search-list-page/index.d.ts +84 -84
  48. package/lib/components/search-list-page/src/search-list-page.d.ts +5 -5
  49. package/lib/components/search-list-page/src/search-list-page.vue.d.ts +33 -33
  50. package/lib/components/search-list-page/src/search-list-page.vue2.js +7 -4
  51. package/lib/components/search-list-page/src/search-list-page.vue2.js.map +1 -1
  52. package/lib/components/search-list-page/src/use-search-list-page.d.ts +26 -26
  53. package/lib/components/search-list-page/src/use-search-list-page.js +14 -7
  54. package/lib/components/search-list-page/src/use-search-list-page.js.map +1 -1
  55. package/lib/components/select/index.d.ts +9 -9
  56. package/lib/components/select/src/select.d.ts +3 -3
  57. package/lib/components/select/src/select.vue.d.ts +6 -6
  58. package/lib/components/table/index.d.ts +21 -21
  59. package/lib/components/table/src/table.d.ts +5 -5
  60. package/lib/components/table/src/table.vue.d.ts +12 -12
  61. package/lib/components/table/src/table.vue2.js +2 -1
  62. package/lib/components/table/src/table.vue2.js.map +1 -1
  63. package/lib/hooks/dialog/use-dialog.js +0 -1
  64. package/lib/hooks/dialog/use-dialog.js.map +1 -1
  65. package/lib/hooks/use-request.d.ts +1 -1
  66. package/lib/hooks/use-request.js.map +1 -1
  67. package/lib/package.json.js +1 -1
  68. package/lib/types/index.d.ts +0 -1
  69. package/lib/utils/http/core/types.d.ts +6 -1
  70. package/lib/utils/props.d.ts +1 -1
  71. package/lib/utils/props.js.map +1 -1
  72. package/package.json +1 -1
  73. package/theme-chalk/index.css +1 -1
  74. package/theme-chalk/search-list-page.css +1 -1
  75. package/theme-chalk/src/index.scss +1 -0
  76. package/theme-chalk/src/search-list-page.scss +1 -1
  77. package/theme-chalk/src/tabs.scss +56 -0
  78. package/theme-chalk/tabs.css +1 -0
  79. package/es/types/axios.d.ts +0 -13
  80. package/lib/types/axios.d.ts +0 -13
@@ -1,6 +1,6 @@
1
- /*! ElPlus v0.0.101 */
1
+ /*! ElPlus v0.0.103 */
2
2
 
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, onMounted, createSlots, normalizeProps, guardReactiveProps, markRaw, Transition, shallowReactive, isVNode, render, createElementVNode, toRaw } from 'vue';
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';
5
5
  import { isFunction } from '@vue/shared';
6
6
  import axios from 'axios';
@@ -1195,7 +1195,7 @@ var _sfc_main$b = /* @__PURE__ */ defineComponent({
1195
1195
  val = "";
1196
1196
  }
1197
1197
  value.value = val ? +val : val;
1198
- e.target.value = toThousand(value.value);
1198
+ e.target.value = value.value ? toThousand(value.value) : "";
1199
1199
  }
1200
1200
  isBluring = true;
1201
1201
  isFocusing = false;
@@ -1215,8 +1215,8 @@ var _sfc_main$b = /* @__PURE__ */ defineComponent({
1215
1215
  () => value.value,
1216
1216
  (val) => {
1217
1217
  if (props.type === "number") {
1218
- onMounted(() => {
1219
- inputRef.value.input.value = toThousand(val);
1218
+ nextTick(() => {
1219
+ inputRef.value.input.value = val ? toThousand(val) : "";
1220
1220
  });
1221
1221
  }
1222
1222
  if (isBluring) {
@@ -1426,7 +1426,6 @@ const useDialog = (options = {}) => {
1426
1426
  }), scopedSlots.footerInner?.(promiseOptions), createVNode(ElButton, {
1427
1427
  "type": "primary",
1428
1428
  "onClick": async () => {
1429
- console.log(111);
1430
1429
  if (onBeforeConfirm) {
1431
1430
  await onBeforeConfirm(resolve);
1432
1431
  }
@@ -2477,8 +2476,9 @@ var _sfc_main$9 = /* @__PURE__ */ defineComponent({
2477
2476
  width: "55",
2478
2477
  align: _ctx.align,
2479
2478
  selectable: _ctx.selectable,
2479
+ "reserve-selection": _ctx.reserveSelection,
2480
2480
  fixed: ""
2481
- }, null, 8, ["align", "selectable"])) : createCommentVNode("", true), _ctx.showSingleSelectionCol ? (openBlock(), createBlock(_component_el_table_column, {
2481
+ }, null, 8, ["align", "selectable", "reserve-selection"])) : createCommentVNode("", true), _ctx.showSingleSelectionCol ? (openBlock(), createBlock(_component_el_table_column, {
2482
2482
  key: 1,
2483
2483
  width: "55",
2484
2484
  align: _ctx.align,
@@ -2661,7 +2661,9 @@ const getAvailableHeight = (el) => {
2661
2661
  };
2662
2662
  const useSearchListPage = (props, config = {}) => {
2663
2663
  const rootRef = useTemplateRef("rootRef");
2664
- const { calcTableHeight, tableProps, tableRef } = useTable(props, config, rootRef);
2664
+ const topRef = useTemplateRef("topRef");
2665
+ const middleRef = useTemplateRef("middleRef");
2666
+ const { calcTableHeight, tableProps, tableRef } = useTable(props, config, rootRef, topRef, middleRef);
2665
2667
  const { formProps, validate, resetFields, formRef } = useForm(props, {
2666
2668
  calcTableHeight
2667
2669
  });
@@ -2687,7 +2689,7 @@ const useSearchListPage = (props, config = {}) => {
2687
2689
  }
2688
2690
  };
2689
2691
  };
2690
- const useTable = (props, config, rootRef) => {
2692
+ const useTable = (props, config, rootRef, topRef, middleRef) => {
2691
2693
  const instanceName = "tableRef";
2692
2694
  const tableRef = useTemplateRef(instanceName);
2693
2695
  const tableHeight = ref(0);
@@ -2716,14 +2718,15 @@ const useTable = (props, config, rootRef) => {
2716
2718
  });
2717
2719
  const calcTableHeight = () => {
2718
2720
  setTimeout(() => {
2719
- const topHeight = document.getElementById("top").offsetHeight;
2720
- const middleHeight = document.getElementById("middle").offsetHeight;
2721
+ const topHeight = topRef.value?.offsetHeight ?? 0;
2722
+ const middleHeight = middleRef.value?.offsetHeight ?? 0;
2721
2723
  let paginationHeight = 0;
2722
2724
  if (tableProps.value.showPagination) {
2723
- paginationHeight = document.querySelector(".el-pagination").offsetHeight + 12;
2725
+ const paginationEl = rootRef.value?.querySelector(".el-pagination");
2726
+ paginationHeight = paginationEl ? paginationEl.offsetHeight + 12 : 0;
2724
2727
  }
2725
2728
  const containerHeight = rootRef.value ? getAvailableHeight(rootRef.value) : window.innerHeight;
2726
- tableHeight.value = containerHeight - topHeight - middleHeight - paginationHeight - 20 - props.offsetTop;
2729
+ tableHeight.value = containerHeight - topHeight - middleHeight - paginationHeight - props.offsetTop;
2727
2730
  }, 0);
2728
2731
  };
2729
2732
  onMounted(calcTableHeight);
@@ -2773,8 +2776,9 @@ const useButtons$1 = (props, { validate, resetFields, tableRef }) => {
2773
2776
  prop: "add",
2774
2777
  permission: props.name ? `${props.name}:ADD` : "",
2775
2778
  show: () => {
2776
- return !!props.add;
2779
+ return !!props.add || !!props.leftButtons?.some((item) => item.prop === "add");
2777
2780
  },
2781
+ type: "primary",
2778
2782
  onClick: () => {
2779
2783
  props.add?.();
2780
2784
  }
@@ -2832,6 +2836,9 @@ const useButtons$1 = (props, { validate, resetFields, tableRef }) => {
2832
2836
  };
2833
2837
  });
2834
2838
  const search = async (isInitSearch = false) => {
2839
+ if (isInitSearch && props.tableProps?.reserveSelection) {
2840
+ tableRef.value.elTableRef.clearSelection();
2841
+ }
2835
2842
  tableRef.value.search(isInitSearch);
2836
2843
  };
2837
2844
  const reset = async () => {
@@ -2889,10 +2896,13 @@ var _sfc_main$8 = /* @__PURE__ */ defineComponent({
2889
2896
  ...unref(prepareStyles)()
2890
2897
  })
2891
2898
  }, [
2892
- createElementVNode("div", { id: "top" }, [
2899
+ createElementVNode("div", { ref: "topRef" }, [
2893
2900
  createVNode(unref(EpForm), normalizeProps(guardReactiveProps(unref(formProps))), null, 16)
2894
- ]),
2895
- createElementVNode("div", { id: "middle" }, [
2901
+ ], 512),
2902
+ createElementVNode("div", {
2903
+ ref: "middleRef",
2904
+ class: normalizeClass(unref(bem).e("middle"))
2905
+ }, [
2896
2906
  createElementVNode("div", {
2897
2907
  class: normalizeClass(unref(bem).e("middle-left"))
2898
2908
  }, [
@@ -2903,7 +2913,7 @@ var _sfc_main$8 = /* @__PURE__ */ defineComponent({
2903
2913
  }, [
2904
2914
  createVNode(unref(EpButtons), { list: unref(searchButtons) }, null, 8, ["list"])
2905
2915
  ], 2)
2906
- ]),
2916
+ ], 2),
2907
2917
  renderSlot(_ctx.$slots, "tableBefore"),
2908
2918
  createVNode(unref(EpTable), mergeProps(unref(tableProps), { "before-search": unref(beforeSearch) }), null, 16, ["before-search"])
2909
2919
  ], 6);
@@ -4505,7 +4515,7 @@ var components = [
4505
4515
  EpFooterInfo
4506
4516
  ];
4507
4517
 
4508
- var version = "0.0.101";
4518
+ var version = "0.0.103";
4509
4519
 
4510
4520
  var globalProperties = {
4511
4521
  install(app) {
@@ -7,7 +7,6 @@
7
7
  ```vue
8
8
  <template>
9
9
  <el-button @click="handleChoose">选择用户</el-button>
10
- <ChooseDialog />
11
10
  </template>
12
11
 
13
12
  <script setup lang="tsx">
@@ -7,7 +7,6 @@
7
7
  ```vue
8
8
  <template>
9
9
  <el-button @click="handleConfirm">审批</el-button>
10
- <ConfirmDialog />
11
10
  </template>
12
11
 
13
12
  <script setup lang="tsx">
@@ -7,7 +7,6 @@
7
7
  ```vue
8
8
  <template>
9
9
  <el-button @click="openDialog">打开表单对话框</el-button>
10
- <FormDialog />
11
10
  </template>
12
11
 
13
12
  <script setup lang="tsx">
@@ -5,11 +5,11 @@ export declare const EpCustomColumn: {
5
5
  };
6
6
  readonly api: {
7
7
  readonly default: "/api-item/api/customizedColumns/find";
8
- readonly type: import("vue").PropType<import("el-plus/es/types/axios").Api>;
8
+ readonly type: import("vue").PropType<import("el-plus/es/utils/index").Api>;
9
9
  };
10
10
  readonly saveApi: {
11
11
  readonly default: "/api-item/api/customizedColumns/save";
12
- readonly type: import("vue").PropType<import("el-plus/es/types/axios").Api>;
12
+ readonly type: import("vue").PropType<import("el-plus/es/utils/index").Api>;
13
13
  };
14
14
  readonly showHandler: {
15
15
  readonly type: BooleanConstructor;
@@ -24,8 +24,8 @@ export declare const EpCustomColumn: {
24
24
  confirm: (data: import("element-plus").TransferDataItem[]) => void;
25
25
  loaded: (data: import("element-plus").TransferDataItem[]) => void;
26
26
  }, import("vue").PublicProps, {
27
- readonly api: import("el-plus/es/types/axios").Api;
28
- readonly saveApi: import("el-plus/es/types/axios").Api;
27
+ readonly api: import("el-plus/es/utils/index").Api;
28
+ readonly saveApi: import("el-plus/es/utils/index").Api;
29
29
  readonly showHandler: boolean;
30
30
  }, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
31
31
  P: {};
@@ -40,11 +40,11 @@ export declare const EpCustomColumn: {
40
40
  };
41
41
  readonly api: {
42
42
  readonly default: "/api-item/api/customizedColumns/find";
43
- readonly type: import("vue").PropType<import("el-plus/es/types/axios").Api>;
43
+ readonly type: import("vue").PropType<import("el-plus/es/utils/index").Api>;
44
44
  };
45
45
  readonly saveApi: {
46
46
  readonly default: "/api-item/api/customizedColumns/save";
47
- readonly type: import("vue").PropType<import("el-plus/es/types/axios").Api>;
47
+ readonly type: import("vue").PropType<import("el-plus/es/utils/index").Api>;
48
48
  };
49
49
  readonly showHandler: {
50
50
  readonly type: BooleanConstructor;
@@ -56,8 +56,8 @@ export declare const EpCustomColumn: {
56
56
  }>, {
57
57
  open: () => Promise<void>;
58
58
  }, {}, {}, {}, {
59
- readonly api: import("el-plus/es/types/axios").Api;
60
- readonly saveApi: import("el-plus/es/types/axios").Api;
59
+ readonly api: import("el-plus/es/utils/index").Api;
60
+ readonly saveApi: import("el-plus/es/utils/index").Api;
61
61
  readonly showHandler: boolean;
62
62
  }>;
63
63
  __isFragment?: never;
@@ -69,11 +69,11 @@ export declare const EpCustomColumn: {
69
69
  };
70
70
  readonly api: {
71
71
  readonly default: "/api-item/api/customizedColumns/find";
72
- readonly type: import("vue").PropType<import("el-plus/es/types/axios").Api>;
72
+ readonly type: import("vue").PropType<import("el-plus/es/utils/index").Api>;
73
73
  };
74
74
  readonly saveApi: {
75
75
  readonly default: "/api-item/api/customizedColumns/save";
76
- readonly type: import("vue").PropType<import("el-plus/es/types/axios").Api>;
76
+ readonly type: import("vue").PropType<import("el-plus/es/utils/index").Api>;
77
77
  };
78
78
  readonly showHandler: {
79
79
  readonly type: BooleanConstructor;
@@ -88,8 +88,8 @@ export declare const EpCustomColumn: {
88
88
  confirm: (data: import("element-plus").TransferDataItem[]) => void;
89
89
  loaded: (data: import("element-plus").TransferDataItem[]) => void;
90
90
  }, string, {
91
- readonly api: import("el-plus/es/types/axios").Api;
92
- readonly saveApi: import("el-plus/es/types/axios").Api;
91
+ readonly api: import("el-plus/es/utils/index").Api;
92
+ readonly saveApi: import("el-plus/es/utils/index").Api;
93
93
  readonly showHandler: boolean;
94
94
  }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("vue").Plugin;
95
95
  export default EpCustomColumn;
@@ -6,11 +6,11 @@ export declare const customColumnProps: {
6
6
  };
7
7
  readonly api: {
8
8
  readonly default: "/api-item/api/customizedColumns/find";
9
- readonly type: PropType<import("el-plus/es/types").Api>;
9
+ readonly type: PropType<import("el-plus/es/utils").Api>;
10
10
  };
11
11
  readonly saveApi: {
12
12
  readonly default: "/api-item/api/customizedColumns/save";
13
- readonly type: PropType<import("el-plus/es/types").Api>;
13
+ readonly type: PropType<import("el-plus/es/utils").Api>;
14
14
  };
15
15
  readonly showHandler: {
16
16
  readonly type: BooleanConstructor;
@@ -5,11 +5,11 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
5
5
  };
6
6
  readonly api: {
7
7
  readonly default: "/api-item/api/customizedColumns/find";
8
- readonly type: import("vue").PropType<import("el-plus/es/types").Api>;
8
+ readonly type: import("vue").PropType<import("el-plus/es/utils").Api>;
9
9
  };
10
10
  readonly saveApi: {
11
11
  readonly default: "/api-item/api/customizedColumns/save";
12
- readonly type: import("vue").PropType<import("el-plus/es/types").Api>;
12
+ readonly type: import("vue").PropType<import("el-plus/es/utils").Api>;
13
13
  };
14
14
  readonly showHandler: {
15
15
  readonly type: BooleanConstructor;
@@ -26,11 +26,11 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
26
26
  };
27
27
  readonly api: {
28
28
  readonly default: "/api-item/api/customizedColumns/find";
29
- readonly type: import("vue").PropType<import("el-plus/es/types").Api>;
29
+ readonly type: import("vue").PropType<import("el-plus/es/utils").Api>;
30
30
  };
31
31
  readonly saveApi: {
32
32
  readonly default: "/api-item/api/customizedColumns/save";
33
- readonly type: import("vue").PropType<import("el-plus/es/types").Api>;
33
+ readonly type: import("vue").PropType<import("el-plus/es/utils").Api>;
34
34
  };
35
35
  readonly showHandler: {
36
36
  readonly type: BooleanConstructor;
@@ -40,8 +40,8 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
40
40
  onConfirm?: ((data: TransferDataItem[]) => any) | undefined;
41
41
  onLoaded?: ((data: TransferDataItem[]) => any) | undefined;
42
42
  }>, {
43
- readonly api: import("el-plus/es/types").Api;
44
- readonly saveApi: import("el-plus/es/types").Api;
43
+ readonly api: import("el-plus/es/utils").Api;
44
+ readonly saveApi: import("el-plus/es/utils").Api;
45
45
  readonly showHandler: boolean;
46
46
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
47
47
  declare const _default: typeof __VLS_export;
@@ -1,4 +1,4 @@
1
- import { defineComponent, mergeModels, computed, useSlots, useModel, ref, watch, onMounted, resolveComponent, createBlock, openBlock, mergeProps, unref, createSlots, renderList, withCtx, renderSlot, normalizeProps, guardReactiveProps } from 'vue';
1
+ import { defineComponent, mergeModels, computed, useSlots, useModel, ref, watch, nextTick, resolveComponent, createBlock, openBlock, mergeProps, unref, createSlots, renderList, withCtx, renderSlot, normalizeProps, guardReactiveProps } from 'vue';
2
2
  import { createNameSpace } from '../../../utils/bem.mjs';
3
3
  import { inputEmitsKeys, inputEmits, inputProps } from './input.mjs';
4
4
  import { prepareEvents, prepareProps, prepareStyles, prepareClassNames } from '../../../utils/props.mjs';
@@ -48,7 +48,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
48
48
  val = "";
49
49
  }
50
50
  value.value = val ? +val : val;
51
- e.target.value = toThousand(value.value);
51
+ e.target.value = value.value ? toThousand(value.value) : "";
52
52
  }
53
53
  isBluring = true;
54
54
  isFocusing = false;
@@ -68,8 +68,8 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
68
68
  () => value.value,
69
69
  (val) => {
70
70
  if (props.type === "number") {
71
- onMounted(() => {
72
- inputRef.value.input.value = toThousand(val);
71
+ nextTick(() => {
72
+ inputRef.value.input.value = val ? toThousand(val) : "";
73
73
  });
74
74
  }
75
75
  if (isBluring) {
@@ -1 +1 @@
1
- {"version":3,"file":"input.vue2.mjs","sources":["../../../../../../packages/components/input/src/input.vue"],"sourcesContent":["<template>\n <el-input\n ref=\"inputRef\"\n v-model=\"value\"\n :class=\"`${bem.b()} ${prepareClassNames()}`\"\n :style=\"{\n ...prepareStyles(),\n }\"\n v-bind=\"customAttrs\"\n :type=\"type === 'number' ? 'text' : type\"\n >\n <template v-for=\"name in slots\" #[name]=\"scope\">\n <slot :name=\"name\" v-bind=\"scope\" />\n </template>\n </el-input>\n</template>\n<script setup lang=\"ts\">\nimport { computed, useSlots, watch, ref, onMounted } from 'vue'\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport { inputProps, inputEmits, inputEmitsKeys } from './input'\nimport type { InputProps, InputEmits } from './input'\nimport {\n prepareProps,\n prepareEvents,\n prepareClassNames,\n prepareStyles,\n} from '@el-plus/utils/props'\ndefineOptions({\n name: 'EpInput',\n inheritAttrs: false,\n})\nconst bem = createNameSpace('input')\nconst props = defineProps(inputProps)\nconst emit = defineEmits(inputEmits)\nconst slots = computed(() => {\n return Object.keys(useSlots())\n})\nlet isBluring = false\nlet isFocusing = false\nconst customAttrs = computed(() => {\n return {\n ...prepareProps(props, ['modelValue']),\n ...prepareEvents<InputEmits>(emit, inputEmitsKeys),\n placeholder: props.disabled ? '' : props.placeholder,\n onFocus: (e: FocusEvent) => {\n isFocusing = true\n if (props.thousand) {\n ;(e.target as HTMLInputElement).value = value.value\n ? String(value.value)\n : ''\n }\n emit('focus', e)\n },\n onBlur: (e: FocusEvent) => {\n if (props.type === 'number') {\n let val = value.value as string\n if (props.nonzero && +val === 0) {\n val = ''\n }\n if (val && val[val.length - 1] === '.') {\n val = String(val).slice(0, -1)\n }\n\n if (val && val === '-') {\n val = ''\n }\n value.value = val ? +val : val\n ;(e.target as HTMLInputElement).value = toThousand(value.value)\n }\n isBluring = true\n isFocusing = false\n emit('blur', e)\n },\n }\n})\nconst value = defineModel<InputProps['modelValue']>()\nconst inputRef = ref()\nconst toThousand = (val: string | number) => {\n if (props.thousand) {\n return val ? window.hx.thousand(val) : val\n }\n return val\n}\nwatch(\n () => value.value,\n (val) => {\n if (props.type === 'number') {\n onMounted(() => {\n inputRef.value.input.value = toThousand(val as number)\n })\n }\n if (isBluring) {\n isBluring = false\n return\n }\n if (!isFocusing) {\n return\n }\n if (props.type === 'number') {\n if (typeof val === 'number') {\n val = '' + val\n }\n if (typeof val === 'string') {\n // 校验一次是否0+数字开头,这种情况直接把0去除\n const zeroReg = new RegExp('^[-+]?0[0-9]\\\\d*')\n if (zeroReg.test(val)) {\n val = val.replace('0', '')\n }\n const reg = new RegExp('^([-+])?\\\\d*(\\\\.?\\\\d*)', 'g')\n val = val.match(reg) ? val.match(reg)![0] : ''\n\n // 限制小数位数\n if (props.radix || props.radix === 0) {\n const reg =\n props.radix === 0\n ? new RegExp('^([-+])?\\\\d*', 'g')\n : new RegExp(`^([-+])?\\\\d*(\\\\.?\\\\d{0,${props.radix}})`, 'g')\n val = val.match(reg) ? val.match(reg)![0] : ''\n }\n if ((props.max || props.max === 0) && +val > props.max) {\n val = props.max\n }\n // 最大最小值\n if (\n (props.min || props.min === 0) &&\n (val || val === 0) &&\n +val < props.min\n ) {\n val = props.min\n }\n }\n } else if (props.type === 'text') {\n val = (val as string).trim()\n }\n value.value = val\n },\n {\n immediate: true,\n },\n)\n</script>\n"],"names":["_useModel","reg","_openBlock","_createBlock","_mergeProps","_unref","type","_renderList","_withCtx","_renderSlot","_normalizeProps","_guardReactiveProps"],"mappings":"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"}
1
+ {"version":3,"file":"input.vue2.mjs","sources":["../../../../../../packages/components/input/src/input.vue"],"sourcesContent":["<template>\n <el-input\n ref=\"inputRef\"\n v-model=\"value\"\n :class=\"`${bem.b()} ${prepareClassNames()}`\"\n :style=\"{\n ...prepareStyles(),\n }\"\n v-bind=\"customAttrs\"\n :type=\"type === 'number' ? 'text' : type\"\n >\n <template v-for=\"name in slots\" #[name]=\"scope\">\n <slot :name=\"name\" v-bind=\"scope\" />\n </template>\n </el-input>\n</template>\n<script setup lang=\"ts\">\nimport { computed, useSlots, watch, ref, nextTick } from 'vue'\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport { inputProps, inputEmits, inputEmitsKeys } from './input'\nimport type { InputProps, InputEmits } from './input'\nimport {\n prepareProps,\n prepareEvents,\n prepareClassNames,\n prepareStyles,\n} from '@el-plus/utils/props'\ndefineOptions({\n name: 'EpInput',\n inheritAttrs: false,\n})\nconst bem = createNameSpace('input')\nconst props = defineProps(inputProps)\nconst emit = defineEmits(inputEmits)\nconst slots = computed(() => {\n return Object.keys(useSlots())\n})\nlet isBluring = false\nlet isFocusing = false\nconst customAttrs = computed(() => {\n return {\n ...prepareProps(props, ['modelValue']),\n ...prepareEvents<InputEmits>(emit, inputEmitsKeys),\n placeholder: props.disabled ? '' : props.placeholder,\n onFocus: (e: FocusEvent) => {\n isFocusing = true\n if (props.thousand) {\n ;(e.target as HTMLInputElement).value = value.value\n ? String(value.value)\n : ''\n }\n emit('focus', e)\n },\n onBlur: (e: FocusEvent) => {\n if (props.type === 'number') {\n let val = value.value as string\n if (props.nonzero && +val === 0) {\n val = ''\n }\n if (val && val[val.length - 1] === '.') {\n val = String(val).slice(0, -1)\n }\n\n if (val && val === '-') {\n val = ''\n }\n value.value = val ? +val : val\n ;(e.target as HTMLInputElement).value =value.value? toThousand(value.value):''\n }\n isBluring = true\n isFocusing = false\n emit('blur', e)\n },\n }\n})\nconst value = defineModel<InputProps['modelValue']>()\nconst inputRef = ref()\nconst toThousand = (val: string | number) => {\n if (props.thousand) {\n return val ? window.hx.thousand(val) : val\n }\n return val\n}\nwatch(\n () => value.value,\n (val) => {\n if (props.type === 'number') {\n nextTick(() => {\n inputRef.value.input.value = val?toThousand(val as number):''\n })\n }\n if (isBluring) {\n isBluring = false\n return\n }\n if (!isFocusing) {\n return\n }\n if (props.type === 'number') {\n if (typeof val === 'number') {\n val = '' + val\n }\n if (typeof val === 'string') {\n // 校验一次是否0+数字开头,这种情况直接把0去除\n const zeroReg = new RegExp('^[-+]?0[0-9]\\\\d*')\n if (zeroReg.test(val)) {\n val = val.replace('0', '')\n }\n const reg = new RegExp('^([-+])?\\\\d*(\\\\.?\\\\d*)', 'g')\n val = val.match(reg) ? val.match(reg)![0] : ''\n\n // 限制小数位数\n if (props.radix || props.radix === 0) {\n const reg =\n props.radix === 0\n ? new RegExp('^([-+])?\\\\d*', 'g')\n : new RegExp(`^([-+])?\\\\d*(\\\\.?\\\\d{0,${props.radix}})`, 'g')\n val = val.match(reg) ? val.match(reg)![0] : ''\n }\n if ((props.max || props.max === 0) && +val > props.max) {\n val = props.max\n }\n // 最大最小值\n if (\n (props.min || props.min === 0) &&\n (val || val === 0) &&\n +val < props.min\n ) {\n val = props.min\n }\n }\n } else if (props.type === 'text') {\n val = (val as string).trim()\n }\n value.value = val\n },\n {\n immediate: true,\n },\n)\n</script>\n"],"names":["_useModel","reg","_openBlock","_createBlock","_mergeProps","_unref","type","_renderList","_withCtx","_renderSlot","_normalizeProps","_guardReactiveProps"],"mappings":"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"}