el-plus 0.0.110 → 0.0.112

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 (44) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/index.full.js +45 -22
  3. package/dist/index.full.min.js +4 -4
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +4 -4
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +45 -22
  8. package/es/components/input/index.d.ts +15 -0
  9. package/es/components/input/src/input.d.ts +4 -0
  10. package/es/components/input/src/input.mjs +4 -0
  11. package/es/components/input/src/input.mjs.map +1 -1
  12. package/es/components/input/src/input.vue.d.ts +9 -0
  13. package/es/components/input/src/input.vue2.mjs +9 -1
  14. package/es/components/input/src/input.vue2.mjs.map +1 -1
  15. package/es/components/select/index.d.ts +15 -14
  16. package/es/components/select/src/select.d.ts +4 -0
  17. package/es/components/select/src/select.mjs +5 -0
  18. package/es/components/select/src/select.mjs.map +1 -1
  19. package/es/components/select/src/select.vue.d.ts +9 -8
  20. package/es/components/select/src/select.vue2.mjs +4 -7
  21. package/es/components/select/src/select.vue2.mjs.map +1 -1
  22. package/es/components/select/src/use-select.d.ts +2 -2
  23. package/es/components/select/src/use-select.mjs +22 -13
  24. package/es/components/select/src/use-select.mjs.map +1 -1
  25. package/es/package.json.mjs +1 -1
  26. package/lib/components/input/index.d.ts +15 -0
  27. package/lib/components/input/src/input.d.ts +4 -0
  28. package/lib/components/input/src/input.js +4 -0
  29. package/lib/components/input/src/input.js.map +1 -1
  30. package/lib/components/input/src/input.vue.d.ts +9 -0
  31. package/lib/components/input/src/input.vue2.js +8 -0
  32. package/lib/components/input/src/input.vue2.js.map +1 -1
  33. package/lib/components/select/index.d.ts +15 -14
  34. package/lib/components/select/src/select.d.ts +4 -0
  35. package/lib/components/select/src/select.js +5 -0
  36. package/lib/components/select/src/select.js.map +1 -1
  37. package/lib/components/select/src/select.vue.d.ts +9 -8
  38. package/lib/components/select/src/select.vue2.js +4 -7
  39. package/lib/components/select/src/select.vue2.js.map +1 -1
  40. package/lib/components/select/src/use-select.d.ts +2 -2
  41. package/lib/components/select/src/use-select.js +22 -13
  42. package/lib/components/select/src/use-select.js.map +1 -1
  43. package/lib/package.json.js +1 -1
  44. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- /*! ElPlus v0.0.110 */
1
+ /*! ElPlus v0.0.112 */
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';
@@ -1143,6 +1143,10 @@ const inputProps = {
1143
1143
  clearable: {
1144
1144
  ...inputProps$1.clearable,
1145
1145
  default: true
1146
+ },
1147
+ clearableFocus: {
1148
+ type: Boolean,
1149
+ default: true
1146
1150
  }
1147
1151
  };
1148
1152
  const inputEmits = {
@@ -1176,6 +1180,14 @@ var _sfc_main$b = /* @__PURE__ */ defineComponent({
1176
1180
  ...prepareProps(props, ["modelValue"]),
1177
1181
  ...prepareEvents(emit, inputEmitsKeys),
1178
1182
  placeholder: props.disabled ? "" : props.placeholder,
1183
+ onClear: () => {
1184
+ emit("clear");
1185
+ if (!props.clearableFocus) {
1186
+ nextTick(() => {
1187
+ inputRef.value?.blur?.();
1188
+ });
1189
+ }
1190
+ },
1179
1191
  onFocus: (e) => {
1180
1192
  isFocusing = true;
1181
1193
  if (props.thousand) {
@@ -2945,6 +2957,11 @@ const inheritSelectProps = {
2945
2957
  };
2946
2958
  const expandSelectProps = {
2947
2959
  ...apiProps,
2960
+ // 回显文本:异步 value 到达时,用 desc 构造占位项(只读)
2961
+ desc: {
2962
+ type: String,
2963
+ default: ""
2964
+ },
2948
2965
  disabledOption: {
2949
2966
  type: Function,
2950
2967
  default: () => false
@@ -2980,6 +2997,7 @@ const selectEmitsKeys = Object.keys(selectEmits);
2980
2997
 
2981
2998
  function useSelect(props, emit) {
2982
2999
  let hasLoaded = false;
3000
+ const loadedOptions = ref([]);
2983
3001
  const { loading, requestFn } = useRequest({
2984
3002
  api: props.api,
2985
3003
  method: props.method,
@@ -2991,12 +3009,12 @@ function useSelect(props, emit) {
2991
3009
  hooks: {
2992
3010
  success(data) {
2993
3011
  if (Array.isArray(data)) {
2994
- customOptions.value = data;
3012
+ loadedOptions.value = data;
2995
3013
  } else if (data && typeof data === "object") {
2996
3014
  const rawData = data;
2997
- customOptions.value = rawData?.list || rawData?.data || [];
3015
+ loadedOptions.value = rawData?.list || rawData?.data || [];
2998
3016
  } else {
2999
- customOptions.value = [];
3017
+ loadedOptions.value = [];
3000
3018
  }
3001
3019
  hasLoaded = true;
3002
3020
  },
@@ -3005,22 +3023,30 @@ function useSelect(props, emit) {
3005
3023
  }
3006
3024
  }
3007
3025
  });
3008
- const customOptions = ref([]);
3009
- const loadOptions = (value, desc) => {
3010
- if ((value || value === 0) && desc) {
3011
- customOptions.value = [
3012
- {
3013
- [props.labelKey]: desc,
3014
- [props.valueKey]: value
3015
- }
3016
- ];
3026
+ const echoOption = computed(() => {
3027
+ const v = props.modelValue;
3028
+ const d = props.desc;
3029
+ if ((v || v === 0) && d) {
3030
+ const exists = loadedOptions.value.some(
3031
+ (item) => item[props.valueKey] === v
3032
+ );
3033
+ if (!exists) {
3034
+ return [{ [props.labelKey]: d, [props.valueKey]: v }];
3035
+ }
3017
3036
  }
3037
+ return [];
3038
+ });
3039
+ const customOptions = computed(() => [
3040
+ ...echoOption.value,
3041
+ ...loadedOptions.value
3042
+ ]);
3043
+ const loadOptions = () => {
3018
3044
  if (props.api) {
3019
3045
  if (!props.lazy && !props.remote) {
3020
3046
  requestFn();
3021
3047
  }
3022
3048
  } else if (props.options?.length) {
3023
- customOptions.value = props.options;
3049
+ loadedOptions.value = props.options;
3024
3050
  }
3025
3051
  };
3026
3052
  const getSelectItem = (value) => {
@@ -3070,11 +3096,9 @@ var _sfc_main$7 = /* @__PURE__ */ defineComponent({
3070
3096
  __name: "select",
3071
3097
  props: /* @__PURE__ */ mergeModels(selectProps, {
3072
3098
  "modelValue": {},
3073
- "modelModifiers": {},
3074
- "desc": {},
3075
- "descModifiers": {}
3099
+ "modelModifiers": {}
3076
3100
  }),
3077
- emits: /* @__PURE__ */ mergeModels(selectEmits, ["update:modelValue", "update:desc"]),
3101
+ emits: /* @__PURE__ */ mergeModels(selectEmits, ["update:modelValue"]),
3078
3102
  setup(__props, { emit: __emit }) {
3079
3103
  const bem = createNameSpace("select");
3080
3104
  const props = __props;
@@ -3084,7 +3108,6 @@ var _sfc_main$7 = /* @__PURE__ */ defineComponent({
3084
3108
  });
3085
3109
  const { customOptions, loadOptions, expandAttrs } = useSelect(props, emit);
3086
3110
  const value = useModel(__props, "modelValue");
3087
- const desc = useModel(__props, "desc");
3088
3111
  const customAttrs = computed(() => {
3089
3112
  return {
3090
3113
  ...prepareProps(props, ["modelValue", "desc", ...expandSelectPropsKeys]),
@@ -3092,11 +3115,11 @@ var _sfc_main$7 = /* @__PURE__ */ defineComponent({
3092
3115
  ...expandAttrs.value
3093
3116
  };
3094
3117
  });
3095
- loadOptions(value.value, desc.value);
3118
+ loadOptions();
3096
3119
  watch(
3097
3120
  () => props.options,
3098
3121
  () => {
3099
- loadOptions(value.value, desc.value);
3122
+ loadOptions();
3100
3123
  },
3101
3124
  {
3102
3125
  deep: true
@@ -4528,7 +4551,7 @@ var components = [
4528
4551
  EpFooterInfo
4529
4552
  ];
4530
4553
 
4531
- var version = "0.0.110";
4554
+ var version = "0.0.112";
4532
4555
 
4533
4556
  var globalProperties = {
4534
4557
  install(app) {
@@ -16,6 +16,10 @@ export declare const EpInput: {
16
16
  readonly default: true;
17
17
  readonly prototype: Boolean;
18
18
  };
19
+ clearableFocus: {
20
+ readonly type: BooleanConstructor;
21
+ readonly default: true;
22
+ };
19
23
  inputmode: import("element-plus/es/utils/index.js").EpPropFinalized<(new (...args: any[]) => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal") | (() => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal" | undefined) | ((new (...args: any[]) => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal") | (() => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal" | undefined))[], unknown, unknown, undefined, boolean>;
20
24
  name: StringConstructor;
21
25
  ariaLabel: StringConstructor;
@@ -140,6 +144,7 @@ export declare const EpInput: {
140
144
  nonzero: boolean;
141
145
  placeholder: string;
142
146
  thousand: boolean;
147
+ clearableFocus: boolean;
143
148
  inputmode: import("element-plus/es/utils/index.js").EpPropMergeType<(new (...args: any[]) => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal") | (() => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal" | undefined) | ((new (...args: any[]) => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal") | (() => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal" | undefined))[], unknown, unknown>;
144
149
  modelModifiers: import("element-plus").InputModelModifiers;
145
150
  autosize: import("element-plus").InputAutoSize;
@@ -177,6 +182,10 @@ export declare const EpInput: {
177
182
  readonly default: true;
178
183
  readonly prototype: Boolean;
179
184
  };
185
+ clearableFocus: {
186
+ readonly type: BooleanConstructor;
187
+ readonly default: true;
188
+ };
180
189
  inputmode: import("element-plus/es/utils/index.js").EpPropFinalized<(new (...args: any[]) => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal") | (() => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal" | undefined) | ((new (...args: any[]) => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal") | (() => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal" | undefined))[], unknown, unknown, undefined, boolean>;
181
190
  name: StringConstructor;
182
191
  ariaLabel: StringConstructor;
@@ -287,6 +296,7 @@ export declare const EpInput: {
287
296
  nonzero: boolean;
288
297
  placeholder: string;
289
298
  thousand: boolean;
299
+ clearableFocus: boolean;
290
300
  inputmode: import("element-plus/es/utils/index.js").EpPropMergeType<(new (...args: any[]) => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal") | (() => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal" | undefined) | ((new (...args: any[]) => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal") | (() => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal" | undefined))[], unknown, unknown>;
291
301
  modelModifiers: import("element-plus").InputModelModifiers;
292
302
  autosize: import("element-plus").InputAutoSize;
@@ -321,6 +331,10 @@ export declare const EpInput: {
321
331
  readonly default: true;
322
332
  readonly prototype: Boolean;
323
333
  };
334
+ clearableFocus: {
335
+ readonly type: BooleanConstructor;
336
+ readonly default: true;
337
+ };
324
338
  inputmode: import("element-plus/es/utils/index.js").EpPropFinalized<(new (...args: any[]) => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal") | (() => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal" | undefined) | ((new (...args: any[]) => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal") | (() => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal" | undefined))[], unknown, unknown, undefined, boolean>;
325
339
  name: StringConstructor;
326
340
  ariaLabel: StringConstructor;
@@ -445,6 +459,7 @@ export declare const EpInput: {
445
459
  nonzero: boolean;
446
460
  placeholder: string;
447
461
  thousand: boolean;
462
+ clearableFocus: boolean;
448
463
  inputmode: import("element-plus/es/utils/index.js").EpPropMergeType<(new (...args: any[]) => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal") | (() => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal" | undefined) | ((new (...args: any[]) => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal") | (() => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal" | undefined))[], unknown, unknown>;
449
464
  modelModifiers: import("element-plus").InputModelModifiers;
450
465
  autosize: import("element-plus").InputAutoSize;
@@ -16,6 +16,10 @@ export declare const inputProps: {
16
16
  readonly default: true;
17
17
  readonly prototype: Boolean;
18
18
  };
19
+ readonly clearableFocus: {
20
+ readonly type: BooleanConstructor;
21
+ readonly default: true;
22
+ };
19
23
  readonly inputmode: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal") | (() => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal" | undefined) | ((new (...args: any[]) => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal") | (() => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal" | undefined))[], unknown, unknown, undefined, boolean>;
20
24
  readonly name: StringConstructor;
21
25
  readonly ariaLabel: StringConstructor;
@@ -21,6 +21,10 @@ const inputProps = {
21
21
  clearable: {
22
22
  ...inputProps$1.clearable,
23
23
  default: true
24
+ },
25
+ clearableFocus: {
26
+ type: Boolean,
27
+ default: true
24
28
  }
25
29
  };
26
30
  const inputEmits = {
@@ -1 +1 @@
1
- {"version":3,"file":"input.mjs","sources":["../../../../../../packages/components/input/src/input.ts"],"sourcesContent":["import type { ExtractPropTypes } from 'vue'\nimport {\n inputProps as elInputProps,\n inputEmits as elInputEmits,\n} from 'element-plus'\nimport { useLocale } from '@el-plus/hooks/use-locale'\nconst { t } = useLocale()\n\nexport const inputProps = {\n ...elInputProps,\n max: Number,\n min: Number,\n radix: Number,\n nonzero: Boolean,\n placeholder: {\n type: String,\n default: () => {\n return t('ep.input.placeholder')\n },\n },\n thousand: {\n type: Boolean,\n default: true,\n },\n clearable: {\n ...elInputProps.clearable,\n default: true,\n },\n} as const\nexport type InputProps = ExtractPropTypes<typeof inputProps>\nexport const inputEmits = {\n ...elInputEmits,\n click: (evt: MouseEvent) => evt instanceof MouseEvent,\n}\nexport type InputEmits = typeof inputEmits\nexport const inputEmitsKeys = Object.keys(inputEmits)\n\n// max: Number,\n// min: Number,\n// nonzero: Boolean,\n// format: Function,\n// radix: {\n// type: [String, Number],\n// default: 5,\n// },\n// thousand: {\n// type: Boolean,\n// default: false,\n// },\n"],"names":["elInputProps","elInputEmits"],"mappings":";;;AAMA,MAAM,EAAE,CAAA,EAAE,GAAI,SAAA,EAAU;AAEjB,MAAM,UAAA,GAAa;AAAA,EACxB,GAAGA,YAAA;AAAA,EACH,GAAA,EAAK,MAAA;AAAA,EACL,GAAA,EAAK,MAAA;AAAA,EACL,KAAA,EAAO,MAAA;AAAA,EACP,OAAA,EAAS,OAAA;AAAA,EACT,WAAA,EAAa;AAAA,IACX,IAAA,EAAM,MAAA;AAAA,IACN,SAAS,MAAM;AACb,MAAA,OAAO,EAAE,sBAAsB,CAAA;AAAA,IACjC;AAAA,GACF;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,SAAA,EAAW;AAAA,IACT,GAAGA,YAAA,CAAa,SAAA;AAAA,IAChB,OAAA,EAAS;AAAA;AAEb;AAEO,MAAM,UAAA,GAAa;AAAA,EACxB,GAAGC,YAAA;AAAA,EACH,KAAA,EAAO,CAAC,GAAA,KAAoB,GAAA,YAAe;AAC7C;AAEO,MAAM,cAAA,GAAiB,MAAA,CAAO,IAAA,CAAK,UAAU;;;;"}
1
+ {"version":3,"file":"input.mjs","sources":["../../../../../../packages/components/input/src/input.ts"],"sourcesContent":["import type { ExtractPropTypes } from 'vue'\nimport {\n inputProps as elInputProps,\n inputEmits as elInputEmits,\n} from 'element-plus'\nimport { useLocale } from '@el-plus/hooks/use-locale'\nconst { t } = useLocale()\n\nexport const inputProps = {\n ...elInputProps,\n max: Number,\n min: Number,\n radix: Number,\n nonzero: Boolean,\n placeholder: {\n type: String,\n default: () => {\n return t('ep.input.placeholder')\n },\n },\n thousand: {\n type: Boolean,\n default: true,\n },\n clearable: {\n ...elInputProps.clearable,\n default: true,\n },\n clearableFocus: {\n type: Boolean,\n default: true,\n },\n} as const\nexport type InputProps = ExtractPropTypes<typeof inputProps>\nexport const inputEmits = {\n ...elInputEmits,\n click: (evt: MouseEvent) => evt instanceof MouseEvent,\n}\nexport type InputEmits = typeof inputEmits\nexport const inputEmitsKeys = Object.keys(inputEmits)\n\n// max: Number,\n// min: Number,\n// nonzero: Boolean,\n// format: Function,\n// radix: {\n// type: [String, Number],\n// default: 5,\n// },\n// thousand: {\n// type: Boolean,\n// default: false,\n// },\n"],"names":["elInputProps","elInputEmits"],"mappings":";;;AAMA,MAAM,EAAE,CAAA,EAAE,GAAI,SAAA,EAAU;AAEjB,MAAM,UAAA,GAAa;AAAA,EACxB,GAAGA,YAAA;AAAA,EACH,GAAA,EAAK,MAAA;AAAA,EACL,GAAA,EAAK,MAAA;AAAA,EACL,KAAA,EAAO,MAAA;AAAA,EACP,OAAA,EAAS,OAAA;AAAA,EACT,WAAA,EAAa;AAAA,IACX,IAAA,EAAM,MAAA;AAAA,IACN,SAAS,MAAM;AACb,MAAA,OAAO,EAAE,sBAAsB,CAAA;AAAA,IACjC;AAAA,GACF;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,SAAA,EAAW;AAAA,IACT,GAAGA,YAAA,CAAa,SAAA;AAAA,IAChB,OAAA,EAAS;AAAA,GACX;AAAA,EACA,cAAA,EAAgB;AAAA,IACd,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA;AAEb;AAEO,MAAM,UAAA,GAAa;AAAA,EACxB,GAAGC,YAAA;AAAA,EACH,KAAA,EAAO,CAAC,GAAA,KAAoB,GAAA,YAAe;AAC7C;AAEO,MAAM,cAAA,GAAiB,MAAA,CAAO,IAAA,CAAK,UAAU;;;;"}
@@ -19,6 +19,10 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
19
19
  readonly default: true;
20
20
  readonly prototype: Boolean;
21
21
  };
22
+ clearableFocus: {
23
+ readonly type: BooleanConstructor;
24
+ readonly default: true;
25
+ };
22
26
  inputmode: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal") | (() => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal" | undefined) | ((new (...args: any[]) => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal") | (() => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal" | undefined))[], unknown, unknown, undefined, boolean>;
23
27
  name: StringConstructor;
24
28
  ariaLabel: StringConstructor;
@@ -136,6 +140,10 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
136
140
  readonly default: true;
137
141
  readonly prototype: Boolean;
138
142
  };
143
+ clearableFocus: {
144
+ readonly type: BooleanConstructor;
145
+ readonly default: true;
146
+ };
139
147
  inputmode: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal") | (() => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal" | undefined) | ((new (...args: any[]) => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal") | (() => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal" | undefined))[], unknown, unknown, undefined, boolean>;
140
148
  name: StringConstructor;
141
149
  ariaLabel: StringConstructor;
@@ -246,6 +254,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
246
254
  nonzero: boolean;
247
255
  placeholder: string;
248
256
  thousand: boolean;
257
+ clearableFocus: boolean;
249
258
  inputmode: import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal") | (() => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal" | undefined) | ((new (...args: any[]) => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal") | (() => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal" | undefined))[], unknown, unknown>;
250
259
  modelModifiers: import("element-plus").InputModelModifiers;
251
260
  autosize: import("element-plus").InputAutoSize;
@@ -1,4 +1,4 @@
1
- import { defineComponent, mergeModels, computed, useSlots, useModel, ref, watch, nextTick, resolveComponent, createBlock, openBlock, mergeProps, unref, createSlots, renderList, withCtx, renderSlot, normalizeProps, guardReactiveProps } from 'vue';
1
+ import { defineComponent, mergeModels, computed, useSlots, useModel, nextTick, ref, watch, 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';
@@ -28,6 +28,14 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
28
28
  ...prepareProps(props, ["modelValue"]),
29
29
  ...prepareEvents(emit, inputEmitsKeys),
30
30
  placeholder: props.disabled ? "" : props.placeholder,
31
+ onClear: () => {
32
+ emit("clear");
33
+ if (!props.clearableFocus) {
34
+ nextTick(() => {
35
+ inputRef.value?.blur?.();
36
+ });
37
+ }
38
+ },
31
39
  onFocus: (e) => {
32
40
  isFocusing = true;
33
41
  if (props.thousand) {
@@ -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, 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' && !isFocusing) {\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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"}
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 onClear: () => {\n emit('clear')\n if (!props.clearableFocus) {\n nextTick(() => {\n inputRef.value?.blur?.()\n })\n }\n },\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' && !isFocusing) {\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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"}
@@ -1,5 +1,9 @@
1
1
  export declare const EpSelect: {
2
2
  new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
3
+ desc: {
4
+ type: StringConstructor;
5
+ default: string;
6
+ };
3
7
  disabledOption: {
4
8
  type: import("vue").PropType<(item: import("./src/select").SelectOption) => boolean>;
5
9
  default: () => boolean;
@@ -147,9 +151,6 @@ export declare const EpSelect: {
147
151
  __epPropKey: true;
148
152
  };
149
153
  props: import("element-plus/es/utils/index.js").EpPropFinalized<(new (...args: any[]) => import("element-plus/es/components/select-v2/src/useProps.js").Props) | (() => import("element-plus/es/components/select-v2/src/useProps.js").Props) | ((new (...args: any[]) => import("element-plus/es/components/select-v2/src/useProps.js").Props) | (() => import("element-plus/es/components/select-v2/src/useProps.js").Props))[], unknown, unknown, () => Required<import("element-plus/es/components/select-v2/src/useProps.js").Props>, boolean>;
150
- desc: {
151
- type: import("vue").PropType<string>;
152
- };
153
154
  }>> & Readonly<{
154
155
  onClear?: (() => any) | undefined;
155
156
  onBlur?: ((evt: FocusEvent) => any) | undefined;
@@ -162,7 +163,6 @@ export declare const EpSelect: {
162
163
  }) => any) | undefined;
163
164
  "onRemove-tag"?: ((val: unknown) => any) | undefined;
164
165
  "onVisible-change"?: ((visible: boolean) => any) | undefined;
165
- "onUpdate:desc"?: ((value: string | undefined) => any) | undefined;
166
166
  }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
167
167
  clear: () => void;
168
168
  blur: (evt: FocusEvent) => void;
@@ -175,8 +175,8 @@ export declare const EpSelect: {
175
175
  }) => void;
176
176
  "remove-tag": (val: unknown) => void;
177
177
  "visible-change": (visible: boolean) => void;
178
- "update:desc": (value: string | undefined) => void;
179
178
  }, import("vue").PublicProps, {
179
+ desc: string;
180
180
  loading: boolean;
181
181
  offset: number;
182
182
  placement: import("element-plus/es/utils/index.js").EpPropMergeType<(new (...args: any[]) => "left" | "right" | "top" | "bottom" | "auto" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => import("element-plus").Placement) | ((new (...args: any[]) => "left" | "right" | "top" | "bottom" | "auto" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => import("element-plus").Placement))[], import("element-plus").Placement, unknown>;
@@ -223,6 +223,10 @@ export declare const EpSelect: {
223
223
  M: {};
224
224
  Defaults: {};
225
225
  }, Readonly<import("vue").ExtractPropTypes<{
226
+ desc: {
227
+ type: StringConstructor;
228
+ default: string;
229
+ };
226
230
  disabledOption: {
227
231
  type: import("vue").PropType<(item: import("./src/select").SelectOption) => boolean>;
228
232
  default: () => boolean;
@@ -370,9 +374,6 @@ export declare const EpSelect: {
370
374
  __epPropKey: true;
371
375
  };
372
376
  props: import("element-plus/es/utils/index.js").EpPropFinalized<(new (...args: any[]) => import("element-plus/es/components/select-v2/src/useProps.js").Props) | (() => import("element-plus/es/components/select-v2/src/useProps.js").Props) | ((new (...args: any[]) => import("element-plus/es/components/select-v2/src/useProps.js").Props) | (() => import("element-plus/es/components/select-v2/src/useProps.js").Props))[], unknown, unknown, () => Required<import("element-plus/es/components/select-v2/src/useProps.js").Props>, boolean>;
373
- desc: {
374
- type: import("vue").PropType<string>;
375
- };
376
377
  }>> & Readonly<{
377
378
  onClear?: (() => any) | undefined;
378
379
  onBlur?: ((evt: FocusEvent) => any) | undefined;
@@ -385,8 +386,8 @@ export declare const EpSelect: {
385
386
  }) => any) | undefined;
386
387
  "onRemove-tag"?: ((val: unknown) => any) | undefined;
387
388
  "onVisible-change"?: ((visible: boolean) => any) | undefined;
388
- "onUpdate:desc"?: ((value: string | undefined) => any) | undefined;
389
389
  }>, {}, {}, {}, {}, {
390
+ desc: string;
390
391
  loading: boolean;
391
392
  offset: number;
392
393
  placement: import("element-plus/es/utils/index.js").EpPropMergeType<(new (...args: any[]) => "left" | "right" | "top" | "bottom" | "auto" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => import("element-plus").Placement) | ((new (...args: any[]) => "left" | "right" | "top" | "bottom" | "auto" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => import("element-plus").Placement))[], import("element-plus").Placement, unknown>;
@@ -430,6 +431,10 @@ export declare const EpSelect: {
430
431
  __isTeleport?: never;
431
432
  __isSuspense?: never;
432
433
  } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
434
+ desc: {
435
+ type: StringConstructor;
436
+ default: string;
437
+ };
433
438
  disabledOption: {
434
439
  type: import("vue").PropType<(item: import("./src/select").SelectOption) => boolean>;
435
440
  default: () => boolean;
@@ -577,9 +582,6 @@ export declare const EpSelect: {
577
582
  __epPropKey: true;
578
583
  };
579
584
  props: import("element-plus/es/utils/index.js").EpPropFinalized<(new (...args: any[]) => import("element-plus/es/components/select-v2/src/useProps.js").Props) | (() => import("element-plus/es/components/select-v2/src/useProps.js").Props) | ((new (...args: any[]) => import("element-plus/es/components/select-v2/src/useProps.js").Props) | (() => import("element-plus/es/components/select-v2/src/useProps.js").Props))[], unknown, unknown, () => Required<import("element-plus/es/components/select-v2/src/useProps.js").Props>, boolean>;
580
- desc: {
581
- type: import("vue").PropType<string>;
582
- };
583
585
  }>> & Readonly<{
584
586
  onClear?: (() => any) | undefined;
585
587
  onBlur?: ((evt: FocusEvent) => any) | undefined;
@@ -592,7 +594,6 @@ export declare const EpSelect: {
592
594
  }) => any) | undefined;
593
595
  "onRemove-tag"?: ((val: unknown) => any) | undefined;
594
596
  "onVisible-change"?: ((visible: boolean) => any) | undefined;
595
- "onUpdate:desc"?: ((value: string | undefined) => any) | undefined;
596
597
  }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
597
598
  clear: () => void;
598
599
  blur: (evt: FocusEvent) => void;
@@ -605,8 +606,8 @@ export declare const EpSelect: {
605
606
  }) => void;
606
607
  "remove-tag": (val: unknown) => void;
607
608
  "visible-change": (visible: boolean) => void;
608
- "update:desc": (value: string | undefined) => void;
609
609
  }, string, {
610
+ desc: string;
610
611
  loading: boolean;
611
612
  offset: number;
612
613
  placement: import("element-plus/es/utils/index.js").EpPropMergeType<(new (...args: any[]) => "left" | "right" | "top" | "bottom" | "auto" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => import("element-plus").Placement) | ((new (...args: any[]) => "left" | "right" | "top" | "bottom" | "auto" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => import("element-plus").Placement))[], import("element-plus").Placement, unknown>;
@@ -115,6 +115,10 @@ export declare const inheritSelectProps: {
115
115
  readonly props: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => import("element-plus/es/components/select-v2/src/useProps").Props) | (() => import("element-plus/es/components/select-v2/src/useProps").Props) | ((new (...args: any[]) => import("element-plus/es/components/select-v2/src/useProps").Props) | (() => import("element-plus/es/components/select-v2/src/useProps").Props))[], unknown, unknown, () => Required<import("element-plus/es/components/select-v2/src/useProps").Props>, boolean>;
116
116
  };
117
117
  export declare const selectProps: {
118
+ readonly desc: {
119
+ type: StringConstructor;
120
+ default: string;
121
+ };
118
122
  readonly disabledOption: {
119
123
  type: PropType<(item: SelectOption) => boolean>;
120
124
  default: () => boolean;
@@ -10,6 +10,11 @@ const inheritSelectProps = {
10
10
  };
11
11
  const expandSelectProps = {
12
12
  ...apiProps,
13
+ // 回显文本:异步 value 到达时,用 desc 构造占位项(只读)
14
+ desc: {
15
+ type: String,
16
+ default: ""
17
+ },
13
18
  disabledOption: {
14
19
  type: Function,
15
20
  default: () => false
@@ -1 +1 @@
1
- {"version":3,"file":"select.mjs","sources":["../../../../../../packages/components/select/src/select.ts"],"sourcesContent":["import type { ExtractPropTypes, PropType, ExtractPublicPropTypes } from 'vue'\nimport {\n selectProps as elSelectProps,\n selectEmits as elSelectEmits,\n type SelectProps as ElSelectProps,\n} from 'element-plus'\nimport { apiProps } from '@el-plus/utils/props'\n\nexport type SelectOption = NonNullable<ElSelectProps['options']>[number]\nexport const inheritSelectProps = {\n ...elSelectProps,\n clearable: {\n ...elSelectProps.clearable,\n default: true,\n },\n} as const\nconst expandSelectProps = {\n ...apiProps,\n disabledOption: {\n type: Function as PropType<(item: SelectOption) => boolean>,\n default: () => false,\n },\n labelKey: {\n type: String,\n default: 'label',\n },\n valueKey: {\n type: String,\n default: 'value',\n },\n formatLabel: {\n type: Function as PropType<(item: SelectOption) => string>,\n },\n // api模式生效\n lazy: Boolean,\n // option是否同时展示code label, 默认值展示label, 传string展示指定字段\n codeInLabel: {\n type: [String, Boolean] as PropType<boolean | string>,\n },\n}\nexport const selectProps = {\n ...inheritSelectProps,\n ...expandSelectProps,\n} as const\nexport const expandSelectPropsKeys = Object.keys(expandSelectProps)\n\nexport type SelectProps = ExtractPropTypes<typeof selectProps>\nexport type SelectPropsPublic = ExtractPublicPropTypes<typeof selectProps>\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\nexport const selectEmits = {\n ...elSelectEmits,\n change: (\n value: SelectProps['modelValue'],\n item?: SelectOption | SelectOption[],\n ) => true,\n}\n/* eslint-enable @typescript-eslint/no-unused-vars */\nexport type SelectEmits = typeof selectEmits\nexport const selectEmitsKeys = Object.keys(selectEmits)\n"],"names":["elSelectProps","elSelectEmits"],"mappings":";;;AASO,MAAM,kBAAA,GAAqB;AAAA,EAChC,GAAGA,aAAA;AAAA,EACH,SAAA,EAAW;AAAA,IACT,GAAGA,aAAA,CAAc,SAAA;AAAA,IACjB,OAAA,EAAS;AAAA;AAEb;AACA,MAAM,iBAAA,GAAoB;AAAA,EACxB,GAAG,QAAA;AAAA,EACH,cAAA,EAAgB;AAAA,IACd,IAAA,EAAM,QAAA;AAAA,IACN,SAAS,MAAM;AAAA,GACjB;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,WAAA,EAAa;AAAA,IACX,IAAA,EAAM;AAAA,GACR;AAAA;AAAA,EAEA,IAAA,EAAM,OAAA;AAAA;AAAA,EAEN,WAAA,EAAa;AAAA,IACX,IAAA,EAAM,CAAC,MAAA,EAAQ,OAAO;AAAA;AAE1B,CAAA;AACO,MAAM,WAAA,GAAc;AAAA,EACzB,GAAG,kBAAA;AAAA,EACH,GAAG;AACL;AACO,MAAM,qBAAA,GAAwB,MAAA,CAAO,IAAA,CAAK,iBAAiB;AAM3D,MAAM,WAAA,GAAc;AAAA,EACzB,GAAGC,aAAA;AAAA,EACH,MAAA,EAAQ,CACN,KAAA,EACA,IAAA,KACG;AACP;AAGO,MAAM,eAAA,GAAkB,MAAA,CAAO,IAAA,CAAK,WAAW;;;;"}
1
+ {"version":3,"file":"select.mjs","sources":["../../../../../../packages/components/select/src/select.ts"],"sourcesContent":["import type { ExtractPropTypes, PropType, ExtractPublicPropTypes } from 'vue'\nimport {\n selectProps as elSelectProps,\n selectEmits as elSelectEmits,\n type SelectProps as ElSelectProps,\n} from 'element-plus'\nimport { apiProps } from '@el-plus/utils/props'\n\nexport type SelectOption = NonNullable<ElSelectProps['options']>[number]\nexport const inheritSelectProps = {\n ...elSelectProps,\n clearable: {\n ...elSelectProps.clearable,\n default: true,\n },\n} as const\nconst expandSelectProps = {\n ...apiProps,\n // 回显文本:异步 value 到达时,用 desc 构造占位项(只读)\n desc: {\n type: String,\n default: '',\n },\n disabledOption: {\n type: Function as PropType<(item: SelectOption) => boolean>,\n default: () => false,\n },\n labelKey: {\n type: String,\n default: 'label',\n },\n valueKey: {\n type: String,\n default: 'value',\n },\n formatLabel: {\n type: Function as PropType<(item: SelectOption) => string>,\n },\n // api模式生效\n lazy: Boolean,\n // option是否同时展示code label, 默认值展示label, 传string展示指定字段\n codeInLabel: {\n type: [String, Boolean] as PropType<boolean | string>,\n },\n}\nexport const selectProps = {\n ...inheritSelectProps,\n ...expandSelectProps,\n} as const\nexport const expandSelectPropsKeys = Object.keys(expandSelectProps)\n\nexport type SelectProps = ExtractPropTypes<typeof selectProps>\nexport type SelectPropsPublic = ExtractPublicPropTypes<typeof selectProps>\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\nexport const selectEmits = {\n ...elSelectEmits,\n change: (\n value: SelectProps['modelValue'],\n item?: SelectOption | SelectOption[],\n ) => true,\n}\n/* eslint-enable @typescript-eslint/no-unused-vars */\nexport type SelectEmits = typeof selectEmits\nexport const selectEmitsKeys = Object.keys(selectEmits)\n"],"names":["elSelectProps","elSelectEmits"],"mappings":";;;AASO,MAAM,kBAAA,GAAqB;AAAA,EAChC,GAAGA,aAAA;AAAA,EACH,SAAA,EAAW;AAAA,IACT,GAAGA,aAAA,CAAc,SAAA;AAAA,IACjB,OAAA,EAAS;AAAA;AAEb;AACA,MAAM,iBAAA,GAAoB;AAAA,EACxB,GAAG,QAAA;AAAA;AAAA,EAEH,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,cAAA,EAAgB;AAAA,IACd,IAAA,EAAM,QAAA;AAAA,IACN,SAAS,MAAM;AAAA,GACjB;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,WAAA,EAAa;AAAA,IACX,IAAA,EAAM;AAAA,GACR;AAAA;AAAA,EAEA,IAAA,EAAM,OAAA;AAAA;AAAA,EAEN,WAAA,EAAa;AAAA,IACX,IAAA,EAAM,CAAC,MAAA,EAAQ,OAAO;AAAA;AAE1B,CAAA;AACO,MAAM,WAAA,GAAc;AAAA,EACzB,GAAG,kBAAA;AAAA,EACH,GAAG;AACL;AACO,MAAM,qBAAA,GAAwB,MAAA,CAAO,IAAA,CAAK,iBAAiB;AAM3D,MAAM,WAAA,GAAc;AAAA,EACzB,GAAGC,aAAA;AAAA,EACH,MAAA,EAAQ,CACN,KAAA,EACA,IAAA,KACG;AACP;AAGO,MAAM,eAAA,GAAkB,MAAA,CAAO,IAAA,CAAK,WAAW;;;;"}
@@ -7,6 +7,10 @@ type __VLS_Slots = {} & {
7
7
  option?: (props: typeof __VLS_14) => any;
8
8
  };
9
9
  declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
10
+ desc: {
11
+ type: StringConstructor;
12
+ default: string;
13
+ };
10
14
  disabledOption: {
11
15
  type: import("vue").PropType<(item: import("./select").SelectOption) => boolean>;
12
16
  default: () => boolean;
@@ -154,9 +158,6 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
154
158
  __epPropKey: true;
155
159
  };
156
160
  props: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => import("element-plus/es/components/select-v2/src/useProps").Props) | (() => import("element-plus/es/components/select-v2/src/useProps").Props) | ((new (...args: any[]) => import("element-plus/es/components/select-v2/src/useProps").Props) | (() => import("element-plus/es/components/select-v2/src/useProps").Props))[], unknown, unknown, () => Required<import("element-plus/es/components/select-v2/src/useProps").Props>, boolean>;
157
- desc: {
158
- type: import("vue").PropType<string>;
159
- };
160
161
  }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
161
162
  clear: () => void;
162
163
  blur: (evt: FocusEvent) => void;
@@ -169,8 +170,11 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
169
170
  }) => void;
170
171
  "remove-tag": (val: unknown) => void;
171
172
  "visible-change": (visible: boolean) => void;
172
- "update:desc": (value: string | undefined) => void;
173
173
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
174
+ desc: {
175
+ type: StringConstructor;
176
+ default: string;
177
+ };
174
178
  disabledOption: {
175
179
  type: import("vue").PropType<(item: import("./select").SelectOption) => boolean>;
176
180
  default: () => boolean;
@@ -318,9 +322,6 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
318
322
  __epPropKey: true;
319
323
  };
320
324
  props: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => import("element-plus/es/components/select-v2/src/useProps").Props) | (() => import("element-plus/es/components/select-v2/src/useProps").Props) | ((new (...args: any[]) => import("element-plus/es/components/select-v2/src/useProps").Props) | (() => import("element-plus/es/components/select-v2/src/useProps").Props))[], unknown, unknown, () => Required<import("element-plus/es/components/select-v2/src/useProps").Props>, boolean>;
321
- desc: {
322
- type: import("vue").PropType<string>;
323
- };
324
325
  }>> & Readonly<{
325
326
  onClear?: (() => any) | undefined;
326
327
  onBlur?: ((evt: FocusEvent) => any) | undefined;
@@ -333,8 +334,8 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
333
334
  }) => any) | undefined;
334
335
  "onRemove-tag"?: ((val: unknown) => any) | undefined;
335
336
  "onVisible-change"?: ((visible: boolean) => any) | undefined;
336
- "onUpdate:desc"?: ((value: string | undefined) => any) | undefined;
337
337
  }>, {
338
+ desc: string;
338
339
  loading: boolean;
339
340
  offset: number;
340
341
  placement: import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => "left" | "right" | "top" | "bottom" | "auto" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => import("element-plus").Placement) | ((new (...args: any[]) => "left" | "right" | "top" | "bottom" | "auto" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => import("element-plus").Placement))[], import("element-plus").Placement, unknown>;
@@ -12,11 +12,9 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
12
12
  __name: "select",
13
13
  props: /* @__PURE__ */ mergeModels(selectProps, {
14
14
  "modelValue": {},
15
- "modelModifiers": {},
16
- "desc": {},
17
- "descModifiers": {}
15
+ "modelModifiers": {}
18
16
  }),
19
- emits: /* @__PURE__ */ mergeModels(selectEmits, ["update:modelValue", "update:desc"]),
17
+ emits: /* @__PURE__ */ mergeModels(selectEmits, ["update:modelValue"]),
20
18
  setup(__props, { emit: __emit }) {
21
19
  const bem = createNameSpace("select");
22
20
  const props = __props;
@@ -26,7 +24,6 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
26
24
  });
27
25
  const { customOptions, loadOptions, expandAttrs } = useSelect(props, emit);
28
26
  const value = useModel(__props, "modelValue");
29
- const desc = useModel(__props, "desc");
30
27
  const customAttrs = computed(() => {
31
28
  return {
32
29
  ...prepareProps(props, ["modelValue", "desc", ...expandSelectPropsKeys]),
@@ -34,11 +31,11 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
34
31
  ...expandAttrs.value
35
32
  };
36
33
  });
37
- loadOptions(value.value, desc.value);
34
+ loadOptions();
38
35
  watch(
39
36
  () => props.options,
40
37
  () => {
41
- loadOptions(value.value, desc.value);
38
+ loadOptions();
42
39
  },
43
40
  {
44
41
  deep: true
@@ -1 +1 @@
1
- {"version":3,"file":"select.vue2.mjs","sources":["../../../../../../packages/components/select/src/select.vue"],"sourcesContent":["<template>\n <el-select\n v-model=\"value\"\n :class=\"`${bem.b()} ${prepareClassNames()}`\"\n v-bind=\"customAttrs\"\n :style=\"{\n ...prepareStyles(),\n }\"\n >\n <el-option\n v-for=\"item in customOptions\"\n :key=\"item[valueKey]\"\n :class=\"bem.e('option')\"\n :label=\"\n item.formatLabel\n ? item.formatLabel(item)\n : formatLabel\n ? formatLabel(item)\n : item[labelKey]\n \"\n :value=\"item[valueKey]\"\n :disabled=\"disabledOption(item)\"\n >\n <slot name=\"option\" :item=\"item\">\n <template v-if=\"codeInLabel || codeInLabel === ''\">\n <span style=\"float: left\">{{ item[labelKey] }}</span>\n <span\n style=\"\n float: right;\n color: var(--el-text-color-secondary);\n font-size: 13px;\n \"\n >\n {{\n item[\n typeof codeInLabel === 'string' && codeInLabel\n ? codeInLabel\n : valueKey\n ]\n }}\n </span>\n </template>\n </slot>\n </el-option>\n <template v-for=\"name in slots\" #[name]=\"scope\">\n <slot :name=\"name\" v-bind=\"scope\" />\n </template>\n </el-select>\n</template>\n<script setup lang=\"ts\">\nimport { computed, useSlots, watch } from 'vue'\nimport {\n selectProps,\n selectEmits,\n expandSelectPropsKeys,\n selectEmitsKeys,\n} from './select'\nimport type { SelectProps, SelectEmits } from './select'\nimport {\n prepareProps,\n prepareEvents,\n prepareClassNames,\n prepareStyles,\n} from '@el-plus/utils/props'\nimport { useSelect } from './use-select'\nimport { createNameSpace } from '@el-plus/utils/bem'\ndefineOptions({\n name: 'EpSelect',\n inheritAttrs: false,\n})\nconst bem = createNameSpace('select')\nconst props = defineProps(selectProps)\nconst emit = defineEmits(selectEmits)\nconst slots = computed(() => {\n return Object.keys(useSlots())\n})\n\nconst { customOptions, loadOptions, expandAttrs } = useSelect(props, emit)\nconst value = defineModel<SelectProps['modelValue']>()\nconst desc = defineModel<string>('desc')\nconst customAttrs = computed(() => {\n return {\n ...prepareProps(props, ['modelValue', 'desc', ...expandSelectPropsKeys]),\n ...prepareEvents<SelectEmits>(emit, selectEmitsKeys),\n ...expandAttrs.value,\n }\n})\nloadOptions(value.value, desc.value)\nwatch(\n () => props.options,\n () => {\n loadOptions(value.value, desc.value)\n },\n {\n deep: true,\n },\n)\n</script>\n"],"names":["_useModel","_openBlock","_createBlock","_mergeProps","_unref","_createElementBlock","_Fragment","_renderList","valueKey","_normalizeClass","formatLabel","labelKey","disabledOption","_renderSlot","codeInLabel","_createElementVNode","_toDisplayString","_withCtx","_normalizeProps","_guardReactiveProps"],"mappings":"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"}
1
+ {"version":3,"file":"select.vue2.mjs","sources":["../../../../../../packages/components/select/src/select.vue"],"sourcesContent":["<template>\n <el-select\n v-model=\"value\"\n :class=\"`${bem.b()} ${prepareClassNames()}`\"\n v-bind=\"customAttrs\"\n :style=\"{\n ...prepareStyles(),\n }\"\n >\n <el-option\n v-for=\"item in customOptions\"\n :key=\"item[valueKey]\"\n :class=\"bem.e('option')\"\n :label=\"\n item.formatLabel\n ? item.formatLabel(item)\n : formatLabel\n ? formatLabel(item)\n : item[labelKey]\n \"\n :value=\"item[valueKey]\"\n :disabled=\"disabledOption(item)\"\n >\n <slot name=\"option\" :item=\"item\">\n <template v-if=\"codeInLabel || codeInLabel === ''\">\n <span style=\"float: left\">{{ item[labelKey] }}</span>\n <span\n style=\"\n float: right;\n color: var(--el-text-color-secondary);\n font-size: 13px;\n \"\n >\n {{\n item[\n typeof codeInLabel === 'string' && codeInLabel\n ? codeInLabel\n : valueKey\n ]\n }}\n </span>\n </template>\n </slot>\n </el-option>\n <template v-for=\"name in slots\" #[name]=\"scope\">\n <slot :name=\"name\" v-bind=\"scope\" />\n </template>\n </el-select>\n</template>\n<script setup lang=\"ts\">\nimport { computed, useSlots, watch } from 'vue'\nimport {\n selectProps,\n selectEmits,\n expandSelectPropsKeys,\n selectEmitsKeys,\n} from './select'\nimport type { SelectProps, SelectEmits } from './select'\nimport {\n prepareProps,\n prepareEvents,\n prepareClassNames,\n prepareStyles,\n} from '@el-plus/utils/props'\nimport { useSelect } from './use-select'\nimport { createNameSpace } from '@el-plus/utils/bem'\ndefineOptions({\n name: 'EpSelect',\n inheritAttrs: false,\n})\nconst bem = createNameSpace('select')\nconst props = defineProps(selectProps)\nconst emit = defineEmits(selectEmits)\nconst slots = computed(() => {\n return Object.keys(useSlots())\n})\n\nconst { customOptions, loadOptions, expandAttrs } = useSelect(props, emit)\nconst value = defineModel<SelectProps['modelValue']>()\nconst customAttrs = computed(() => {\n return {\n ...prepareProps(props, ['modelValue', 'desc', ...expandSelectPropsKeys]),\n ...prepareEvents<SelectEmits>(emit, selectEmitsKeys),\n ...expandAttrs.value,\n }\n})\n// 回显由 echoOption computed 自动处理,这里只负责加载选项\nloadOptions()\nwatch(\n () => props.options,\n () => {\n loadOptions()\n },\n {\n deep: true,\n },\n)\n</script>\n"],"names":["_useModel","_openBlock","_createBlock","_mergeProps","_unref","_createElementBlock","_Fragment","_renderList","valueKey","_normalizeClass","formatLabel","labelKey","disabledOption","_renderSlot","codeInLabel","_createElementVNode","_toDisplayString","_withCtx","_normalizeProps","_guardReactiveProps"],"mappings":";;;;;;;;;;;;;;;;;;AAsEA,IAAA,MAAM,GAAA,GAAM,gBAAgB,QAAQ,CAAA;AACpC,IAAA,MAAM,KAAA,GAAQ,OAAA;AACd,IAAA,MAAM,IAAA,GAAO,MAAA;AACb,IAAA,MAAM,KAAA,GAAQ,SAAS,MAAM;AAC3B,MAAA,OAAO,MAAA,CAAO,IAAA,CAAK,QAAA,EAAU,CAAA;AAAA,IAC/B,CAAC,CAAA;AAED,IAAA,MAAM,EAAE,aAAA,EAAe,WAAA,EAAa,aAAY,GAAI,SAAA,CAAU,OAAO,IAAI,CAAA;AACzE,IAAA,MAAM,KAAA,GAAQA,QAAA,CAAsC,OAAA,EAAA,YAAC,CAAA;AACrD,IAAA,MAAM,WAAA,GAAc,SAAS,MAAM;AACjC,MAAA,OAAO;AAAA,QACL,GAAG,aAAa,KAAA,EAAO,CAAC,cAAc,MAAA,EAAQ,GAAG,qBAAqB,CAAC,CAAA;AAAA,QACvE,GAAG,aAAA,CAA2B,IAAA,EAAM,eAAe,CAAA;AAAA,QACnD,GAAG,WAAA,CAAY;AAAA,OACjB;AAAA,IACF,CAAC,CAAA;AAED,IAAA,WAAA,EAAY;AACZ,IAAA,KAAA;AAAA,MACE,MAAM,KAAA,CAAM,OAAA;AAAA,MACZ,MAAM;AACJ,QAAA,WAAA,EAAY;AAAA,MACd,CAAA;AAAA,MACA;AAAA,QACE,IAAA,EAAM;AAAA;AACR,KACF;;;;AA/FE,MAAA,OAAAC,SAAA,EAAA,EAAAC,WAAA,CA8CY,oBAAA,EA9CZC,UAAA,CA8CY;AAAA,oBA7CD,KAAA,CAAA,KAAA;AAAA,2CAAA,KAAA,CAAK,KAAA,GAAA,MAAA;AAAA,QACb,KAAA,EAAK,CAAA,EAAKC,KAAA,CAAA,GAAA,CAAA,CAAI,CAAA,MAAOA,KAAA,CAAA,iBAAA,CAAA,EAAiB,CAAA;AAAA,SAC/B,YAAA,KAAA,EAAW;AAAA,QAClB,KAAA,EAAK;AAAA,aAAaA,KAAA,CAAA,aAAA,CAAA;AAAa;;yBAK9B,MAA6B;AAAA,4BAD/BC,kBAAA,CAkCYC,QAAA,EAAA,IAAA,EAAAC,UAAA,CAjCKH,KAAA,CAAA,aAAA,CAAA,EAAa,CAArB,IAAA,KAAI;gCADbF,WAAA,CAkCY,oBAAA,EAAA;AAAA,cAhCT,GAAA,EAAK,IAAA,CAAKM,IAAAA,CAAAA,QAAQ,CAAA;AAAA,cAClB,OAAKC,cAAA,CAAEL,KAAA,CAAA,GAAA,CAAA,CAAI,CAAA,CAAC,QAAA,CAAA,CAAA;AAAA,cACZ,KAAA,EAAgB,IAAA,CAAK,WAAA,GAAwB,IAAA,CAAK,YAAY,IAAI,CAAA,GAAcM,IAAAA,CAAAA,WAAAA,GAA0BA,KAAAA,WAAAA,CAAY,IAAI,CAAA,GAAgB,IAAA,CAAKC,KAAAA,QAAQ,CAAA;AAAA,cAOvJ,KAAA,EAAO,IAAA,CAAKH,IAAAA,CAAAA,QAAQ,CAAA;AAAA,cACpB,QAAA,EAAUI,IAAAA,CAAAA,cAAAA,CAAe,IAAI;AAAA;+BAE9B,MAmBO;AAAA,gBAnBPC,WAmBO,IAAA,CAAA,MAAA,EAAA,UAAA,EAnBc,IAAA,IAArB,MAmBO;AAAA,kBAlBWC,IAAAA,CAAAA,WAAAA,IAAeA,IAAAA,CAAAA,WAAAA,KAAW,EAAA,iBAA1CT,kBAAA,CAiBWC,QAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,EAAA;AAAA,oBAhBTS,kBAAA,CAAqD,MAAA,IAA/C,KAAA,EAAA,qBAAmB,EAAAC,gBAAI,IAAA,CAAKL,IAAAA,CAAAA,QAAQ,CAAA,GAAA,CAAA,CAAA;AAAA,oBAC1CI,kBAAA,CAcO,MAAA,EAAA,EAbL,KAAA,EAAA,EAAA,OAAA,EAAA,OAAA,EAAA,OAAA,EAAA,gCAAA,EAAA,WAAA,EAAA,MAAA,EAAA,oBAOE,IAAA,CAA6BD,OAAAA,IAAAA,CAAAA,WAAAA,iBAA4BA,IAAAA,CAAAA,WAAAA,GAAgCA,IAAAA,CAAAA,WAAAA,GAAgCN,IAAAA,CAAAA;;;;;;;;;;QAU1GD,UAAA,CAAA,KAAA,CAAA,KAAA,GAAR,IAAA,KAAI;;;YACnB,EAAA,EAAAU,OAAA,CAAA,CADuC,KAAA,KAAK;AAAA,cAC5CJ,UAAA,CAAoC,KAAA,MAAA,EAAvB,IAAA,EAAIK,eAAAC,kBAAA,CAAU,KAAK,CAAA,CAAA;AAAA;;;;;;;;;;"}