el-plus 0.0.111 → 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.
@@ -1,4 +1,4 @@
1
- /*! ElPlus v0.0.111 */
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';
@@ -2957,6 +2957,11 @@ const inheritSelectProps = {
2957
2957
  };
2958
2958
  const expandSelectProps = {
2959
2959
  ...apiProps,
2960
+ // 回显文本:异步 value 到达时,用 desc 构造占位项(只读)
2961
+ desc: {
2962
+ type: String,
2963
+ default: ""
2964
+ },
2960
2965
  disabledOption: {
2961
2966
  type: Function,
2962
2967
  default: () => false
@@ -2992,6 +2997,7 @@ const selectEmitsKeys = Object.keys(selectEmits);
2992
2997
 
2993
2998
  function useSelect(props, emit) {
2994
2999
  let hasLoaded = false;
3000
+ const loadedOptions = ref([]);
2995
3001
  const { loading, requestFn } = useRequest({
2996
3002
  api: props.api,
2997
3003
  method: props.method,
@@ -3003,12 +3009,12 @@ function useSelect(props, emit) {
3003
3009
  hooks: {
3004
3010
  success(data) {
3005
3011
  if (Array.isArray(data)) {
3006
- customOptions.value = data;
3012
+ loadedOptions.value = data;
3007
3013
  } else if (data && typeof data === "object") {
3008
3014
  const rawData = data;
3009
- customOptions.value = rawData?.list || rawData?.data || [];
3015
+ loadedOptions.value = rawData?.list || rawData?.data || [];
3010
3016
  } else {
3011
- customOptions.value = [];
3017
+ loadedOptions.value = [];
3012
3018
  }
3013
3019
  hasLoaded = true;
3014
3020
  },
@@ -3017,22 +3023,30 @@ function useSelect(props, emit) {
3017
3023
  }
3018
3024
  }
3019
3025
  });
3020
- const customOptions = ref([]);
3021
- const loadOptions = (value, desc) => {
3022
- if ((value || value === 0) && desc) {
3023
- customOptions.value = [
3024
- {
3025
- [props.labelKey]: desc,
3026
- [props.valueKey]: value
3027
- }
3028
- ];
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
+ }
3029
3036
  }
3037
+ return [];
3038
+ });
3039
+ const customOptions = computed(() => [
3040
+ ...echoOption.value,
3041
+ ...loadedOptions.value
3042
+ ]);
3043
+ const loadOptions = () => {
3030
3044
  if (props.api) {
3031
3045
  if (!props.lazy && !props.remote) {
3032
3046
  requestFn();
3033
3047
  }
3034
3048
  } else if (props.options?.length) {
3035
- customOptions.value = props.options;
3049
+ loadedOptions.value = props.options;
3036
3050
  }
3037
3051
  };
3038
3052
  const getSelectItem = (value) => {
@@ -3082,11 +3096,9 @@ var _sfc_main$7 = /* @__PURE__ */ defineComponent({
3082
3096
  __name: "select",
3083
3097
  props: /* @__PURE__ */ mergeModels(selectProps, {
3084
3098
  "modelValue": {},
3085
- "modelModifiers": {},
3086
- "desc": {},
3087
- "descModifiers": {}
3099
+ "modelModifiers": {}
3088
3100
  }),
3089
- emits: /* @__PURE__ */ mergeModels(selectEmits, ["update:modelValue", "update:desc"]),
3101
+ emits: /* @__PURE__ */ mergeModels(selectEmits, ["update:modelValue"]),
3090
3102
  setup(__props, { emit: __emit }) {
3091
3103
  const bem = createNameSpace("select");
3092
3104
  const props = __props;
@@ -3096,7 +3108,6 @@ var _sfc_main$7 = /* @__PURE__ */ defineComponent({
3096
3108
  });
3097
3109
  const { customOptions, loadOptions, expandAttrs } = useSelect(props, emit);
3098
3110
  const value = useModel(__props, "modelValue");
3099
- const desc = useModel(__props, "desc");
3100
3111
  const customAttrs = computed(() => {
3101
3112
  return {
3102
3113
  ...prepareProps(props, ["modelValue", "desc", ...expandSelectPropsKeys]),
@@ -3104,11 +3115,11 @@ var _sfc_main$7 = /* @__PURE__ */ defineComponent({
3104
3115
  ...expandAttrs.value
3105
3116
  };
3106
3117
  });
3107
- loadOptions(value.value, desc.value);
3118
+ loadOptions();
3108
3119
  watch(
3109
3120
  () => props.options,
3110
3121
  () => {
3111
- loadOptions(value.value, desc.value);
3122
+ loadOptions();
3112
3123
  },
3113
3124
  {
3114
3125
  deep: true
@@ -4540,7 +4551,7 @@ var components = [
4540
4551
  EpFooterInfo
4541
4552
  ];
4542
4553
 
4543
- var version = "0.0.111";
4554
+ var version = "0.0.112";
4544
4555
 
4545
4556
  var globalProperties = {
4546
4557
  install(app) {
@@ -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":";;;;;;;;;;;;;;;;;;;;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,IAAA,GAAOA,QAAA,CAAmB,OAAA,EAAC,MAAM,CAAA;AACvC,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;AACD,IAAA,WAAA,CAAY,KAAA,CAAM,KAAA,EAAO,IAAA,CAAK,KAAK,CAAA;AACnC,IAAA,KAAA;AAAA,MACE,MAAM,KAAA,CAAM,OAAA;AAAA,MACZ,MAAM;AACJ,QAAA,WAAA,CAAY,KAAA,CAAM,KAAA,EAAO,IAAA,CAAK,KAAK,CAAA;AAAA,MACrC,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;;;;;;;;;;"}
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":"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"}
@@ -1,8 +1,8 @@
1
1
  import type { SetupContext } from 'vue';
2
2
  import type { SelectProps, SelectEmits } from './select';
3
3
  export declare function useSelect(props: SelectProps, emit: SetupContext<SelectEmits>['emit']): {
4
- customOptions: import("vue").Ref<Record<string, any>[], Record<string, any>[]>;
5
- loadOptions: (value: SelectProps["modelValue"], desc: string | undefined) => void;
4
+ customOptions: import("vue").ComputedRef<Record<string, any>[]>;
5
+ loadOptions: () => void;
6
6
  expandAttrs: import("vue").ComputedRef<{
7
7
  loading: boolean | undefined;
8
8
  remoteMethod: (query: string) => void;
@@ -3,6 +3,7 @@ import { useRequest } from '../../../hooks/use-request.mjs';
3
3
 
4
4
  function useSelect(props, emit) {
5
5
  let hasLoaded = false;
6
+ const loadedOptions = ref([]);
6
7
  const { loading, requestFn } = useRequest({
7
8
  api: props.api,
8
9
  method: props.method,
@@ -14,12 +15,12 @@ function useSelect(props, emit) {
14
15
  hooks: {
15
16
  success(data) {
16
17
  if (Array.isArray(data)) {
17
- customOptions.value = data;
18
+ loadedOptions.value = data;
18
19
  } else if (data && typeof data === "object") {
19
20
  const rawData = data;
20
- customOptions.value = rawData?.list || rawData?.data || [];
21
+ loadedOptions.value = rawData?.list || rawData?.data || [];
21
22
  } else {
22
- customOptions.value = [];
23
+ loadedOptions.value = [];
23
24
  }
24
25
  hasLoaded = true;
25
26
  },
@@ -28,22 +29,30 @@ function useSelect(props, emit) {
28
29
  }
29
30
  }
30
31
  });
31
- const customOptions = ref([]);
32
- const loadOptions = (value, desc) => {
33
- if ((value || value === 0) && desc) {
34
- customOptions.value = [
35
- {
36
- [props.labelKey]: desc,
37
- [props.valueKey]: value
38
- }
39
- ];
32
+ const echoOption = computed(() => {
33
+ const v = props.modelValue;
34
+ const d = props.desc;
35
+ if ((v || v === 0) && d) {
36
+ const exists = loadedOptions.value.some(
37
+ (item) => item[props.valueKey] === v
38
+ );
39
+ if (!exists) {
40
+ return [{ [props.labelKey]: d, [props.valueKey]: v }];
41
+ }
40
42
  }
43
+ return [];
44
+ });
45
+ const customOptions = computed(() => [
46
+ ...echoOption.value,
47
+ ...loadedOptions.value
48
+ ]);
49
+ const loadOptions = () => {
41
50
  if (props.api) {
42
51
  if (!props.lazy && !props.remote) {
43
52
  requestFn();
44
53
  }
45
54
  } else if (props.options?.length) {
46
- customOptions.value = props.options;
55
+ loadedOptions.value = props.options;
47
56
  }
48
57
  };
49
58
  const getSelectItem = (value) => {
@@ -1 +1 @@
1
- {"version":3,"file":"use-select.mjs","sources":["../../../../../../packages/components/select/src/use-select.ts"],"sourcesContent":["import { ref ,computed} from 'vue'\nimport type { SetupContext } from 'vue'\nimport { useRequest } from '@el-plus/hooks/use-request'\nimport type { SelectProps, SelectOption, SelectEmits } from './select'\nexport function useSelect(\n props: SelectProps,\n emit: SetupContext<SelectEmits>['emit'],\n) {\n let hasLoaded = false\n const { loading, requestFn } = useRequest({\n api: props.api,\n method: props.method,\n reqData: props.reqData,\n reqParams: props.reqParams,\n reqBefore: props.reqBefore,\n reqAfter: props.reqAfter,\n cancelToken: props.remote,\n hooks: {\n success(data) {\n type OptionArr = SelectOption[]\n interface OptionObj {\n list?: OptionArr\n data?: OptionArr\n }\n if (Array.isArray(data)) {\n customOptions.value = data as OptionArr\n } else if (data && typeof data === 'object') {\n const rawData = data as OptionObj\n customOptions.value = rawData?.list || rawData?.data || []\n } else {\n customOptions.value = []\n }\n hasLoaded = true\n },\n fail(error) {\n console.error(error)\n },\n },\n })\n // 下拉列表\n const customOptions = ref<SelectOption[]>([]) // 下拉列表\n // 加载下拉列表\n const loadOptions = (\n value: SelectProps['modelValue'],\n desc: string | undefined,\n ) => {\n if ((value || value === 0) && desc) {\n customOptions.value = [\n {\n [props.labelKey]: desc,\n [props.valueKey]: value,\n },\n ]\n }\n if (props.api) {\n if (!props.lazy && !props.remote) {\n requestFn!()\n }\n } else if (props.options?.length) {\n customOptions.value = props.options\n }\n }\n // 获取选中项\n const getSelectItem = (value: SelectProps['modelValue']) => {\n if (Array.isArray(value)) {\n if (!customOptions.value) return []\n return customOptions.value.filter((item: SelectOption) => {\n return value.indexOf(item[props.valueKey]) > -1\n })\n }\n if (!customOptions.value) return {}\n return (\n customOptions.value.find((item: SelectOption) => {\n return item[props.valueKey] === value\n }) || {}\n )\n }\n const expandAttrs = computed(() => {\n return {\n loading: props.loading || loading?.value,\n remoteMethod: (query: string) => {\n if (!query) return\n requestFn!({\n $searchValue: query,\n })\n },\n onChange(value: SelectProps['modelValue']) {\n emit('change', value, getSelectItem(value))\n },\n onVisibleChange(visible: boolean) {\n if (props.api && props.lazy && visible && !hasLoaded && !props.remote) {\n requestFn!()\n }\n emit('visible-change', visible)\n },\n }\n })\n return {\n customOptions,\n loadOptions,\n expandAttrs,\n }\n}\n"],"names":[],"mappings":";;;AAIO,SAAS,SAAA,CACd,OACA,IAAA,EACA;AACA,EAAA,IAAI,SAAA,GAAY,KAAA;AAChB,EAAA,MAAM,EAAE,OAAA,EAAS,SAAA,EAAU,GAAI,UAAA,CAAW;AAAA,IACxC,KAAK,KAAA,CAAM,GAAA;AAAA,IACX,QAAQ,KAAA,CAAM,MAAA;AAAA,IACd,SAAS,KAAA,CAAM,OAAA;AAAA,IACf,WAAW,KAAA,CAAM,SAAA;AAAA,IACjB,WAAW,KAAA,CAAM,SAAA;AAAA,IACjB,UAAU,KAAA,CAAM,QAAA;AAAA,IAChB,aAAa,KAAA,CAAM,MAAA;AAAA,IACnB,KAAA,EAAO;AAAA,MACL,QAAQ,IAAA,EAAM;AAMZ,QAAA,IAAI,KAAA,CAAM,OAAA,CAAQ,IAAI,CAAA,EAAG;AACvB,UAAA,aAAA,CAAc,KAAA,GAAQ,IAAA;AAAA,QACxB,CAAA,MAAA,IAAW,IAAA,IAAQ,OAAO,IAAA,KAAS,QAAA,EAAU;AAC3C,UAAA,MAAM,OAAA,GAAU,IAAA;AAChB,UAAA,aAAA,CAAc,KAAA,GAAQ,OAAA,EAAS,IAAA,IAAQ,OAAA,EAAS,QAAQ,EAAC;AAAA,QAC3D,CAAA,MAAO;AACL,UAAA,aAAA,CAAc,QAAQ,EAAC;AAAA,QACzB;AACA,QAAA,SAAA,GAAY,IAAA;AAAA,MACd,CAAA;AAAA,MACA,KAAK,KAAA,EAAO;AACV,QAAA,OAAA,CAAQ,MAAM,KAAK,CAAA;AAAA,MACrB;AAAA;AACF,GACD,CAAA;AAED,EAAA,MAAM,aAAA,GAAgB,GAAA,CAAoB,EAAE,CAAA;AAE5C,EAAA,MAAM,WAAA,GAAc,CAClB,KAAA,EACA,IAAA,KACG;AACH,IAAA,IAAA,CAAK,KAAA,IAAS,KAAA,KAAU,CAAA,KAAM,IAAA,EAAM;AAClC,MAAA,aAAA,CAAc,KAAA,GAAQ;AAAA,QACpB;AAAA,UACE,CAAC,KAAA,CAAM,QAAQ,GAAG,IAAA;AAAA,UAClB,CAAC,KAAA,CAAM,QAAQ,GAAG;AAAA;AACpB,OACF;AAAA,IACF;AACA,IAAA,IAAI,MAAM,GAAA,EAAK;AACb,MAAA,IAAI,CAAC,KAAA,CAAM,IAAA,IAAQ,CAAC,MAAM,MAAA,EAAQ;AAChC,QAAA,SAAA,EAAW;AAAA,MACb;AAAA,IACF,CAAA,MAAA,IAAW,KAAA,CAAM,OAAA,EAAS,MAAA,EAAQ;AAChC,MAAA,aAAA,CAAc,QAAQ,KAAA,CAAM,OAAA;AAAA,IAC9B;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,aAAA,GAAgB,CAAC,KAAA,KAAqC;AAC1D,IAAA,IAAI,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,EAAG;AACxB,MAAA,IAAI,CAAC,aAAA,CAAc,KAAA,EAAO,OAAO,EAAC;AAClC,MAAA,OAAO,aAAA,CAAc,KAAA,CAAM,MAAA,CAAO,CAAC,IAAA,KAAuB;AACxD,QAAA,OAAO,MAAM,OAAA,CAAQ,IAAA,CAAK,KAAA,CAAM,QAAQ,CAAC,CAAA,GAAI,EAAA;AAAA,MAC/C,CAAC,CAAA;AAAA,IACH;AACA,IAAA,IAAI,CAAC,aAAA,CAAc,KAAA,EAAO,OAAO,EAAC;AAClC,IAAA,OACE,aAAA,CAAc,KAAA,CAAM,IAAA,CAAK,CAAC,IAAA,KAAuB;AAC/C,MAAA,OAAO,IAAA,CAAK,KAAA,CAAM,QAAQ,CAAA,KAAM,KAAA;AAAA,IAClC,CAAC,KAAK,EAAC;AAAA,EAEX,CAAA;AACA,EAAA,MAAM,WAAA,GAAc,SAAS,MAAM;AACjC,IAAA,OAAO;AAAA,MACL,OAAA,EAAS,KAAA,CAAM,OAAA,IAAW,OAAA,EAAS,KAAA;AAAA,MACnC,YAAA,EAAc,CAAC,KAAA,KAAkB;AAC/B,QAAA,IAAI,CAAC,KAAA,EAAO;AACZ,QAAA,SAAA,CAAW;AAAA,UACT,YAAA,EAAc;AAAA,SACf,CAAA;AAAA,MACH,CAAA;AAAA,MACA,SAAS,KAAA,EAAkC;AACzC,QAAA,IAAA,CAAK,QAAA,EAAU,KAAA,EAAO,aAAA,CAAc,KAAK,CAAC,CAAA;AAAA,MAC5C,CAAA;AAAA,MACA,gBAAgB,OAAA,EAAkB;AAChC,QAAA,IAAI,KAAA,CAAM,OAAO,KAAA,CAAM,IAAA,IAAQ,WAAW,CAAC,SAAA,IAAa,CAAC,KAAA,CAAM,MAAA,EAAQ;AACrE,UAAA,SAAA,EAAW;AAAA,QACb;AACA,QAAA,IAAA,CAAK,kBAAkB,OAAO,CAAA;AAAA,MAChC;AAAA,KACF;AAAA,EACF,CAAC,CAAA;AACD,EAAA,OAAO;AAAA,IACL,aAAA;AAAA,IACA,WAAA;AAAA,IACA;AAAA,GACF;AACF;;;;"}
1
+ {"version":3,"file":"use-select.mjs","sources":["../../../../../../packages/components/select/src/use-select.ts"],"sourcesContent":["import { ref ,computed} from 'vue'\nimport type { SetupContext } from 'vue'\nimport { useRequest } from '@el-plus/hooks/use-request'\nimport type { SelectProps, SelectOption, SelectEmits } from './select'\nexport function useSelect(\n props: SelectProps,\n emit: SetupContext<SelectEmits>['emit'],\n) {\n let hasLoaded = false\n // 已加载的选项(api 请求结果 / props.options / 搜索结果)\n const loadedOptions = ref<SelectOption[]>([])\n const { loading, requestFn } = useRequest({\n api: props.api,\n method: props.method,\n reqData: props.reqData,\n reqParams: props.reqParams,\n reqBefore: props.reqBefore,\n reqAfter: props.reqAfter,\n cancelToken: props.remote,\n hooks: {\n success(data) {\n type OptionArr = SelectOption[]\n interface OptionObj {\n list?: OptionArr\n data?: OptionArr\n }\n if (Array.isArray(data)) {\n loadedOptions.value = data as OptionArr\n } else if (data && typeof data === 'object') {\n const rawData = data as OptionObj\n loadedOptions.value = rawData?.list || rawData?.data || []\n } else {\n loadedOptions.value = []\n }\n hasLoaded = true\n },\n fail(error) {\n console.error(error)\n },\n },\n })\n // 回显占位项:value/desc 存在且不在已加载列表中时,补充一项\n // 由 computed 自动响应 value/desc/loadedOptions 的变化,无需 watch\n const echoOption = computed<SelectOption[]>(() => {\n const v = props.modelValue\n const d = props.desc\n if ((v || v === 0) && d) {\n const exists = loadedOptions.value.some(\n (item: SelectOption) => item[props.valueKey] === v,\n )\n if (!exists) {\n return [{ [props.labelKey]: d, [props.valueKey]: v }]\n }\n }\n return []\n })\n // 最终下拉项 = 回显占位 + 已加载\n const customOptions = computed<SelectOption[]>(() => [\n ...echoOption.value,\n ...loadedOptions.value,\n ])\n // 加载下拉列表(只负责加载,不处理回显)\n const loadOptions = () => {\n if (props.api) {\n if (!props.lazy && !props.remote) {\n requestFn!()\n }\n } else if (props.options?.length) {\n loadedOptions.value = props.options\n }\n }\n // 获取选中项\n const getSelectItem = (value: SelectProps['modelValue']) => {\n if (Array.isArray(value)) {\n if (!customOptions.value) return []\n return customOptions.value.filter((item: SelectOption) => {\n return value.indexOf(item[props.valueKey]) > -1\n })\n }\n if (!customOptions.value) return {}\n return (\n customOptions.value.find((item: SelectOption) => {\n return item[props.valueKey] === value\n }) || {}\n )\n }\n const expandAttrs = computed(() => {\n return {\n loading: props.loading || loading?.value,\n remoteMethod: (query: string) => {\n if (!query) return\n requestFn!({\n $searchValue: query,\n })\n },\n onChange(value: SelectProps['modelValue']) {\n emit('change', value, getSelectItem(value))\n },\n onVisibleChange(visible: boolean) {\n if (props.api && props.lazy && visible && !hasLoaded && !props.remote) {\n requestFn!()\n }\n emit('visible-change', visible)\n },\n }\n })\n return {\n customOptions,\n loadOptions,\n expandAttrs,\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- var version = "0.0.111";
1
+ var version = "0.0.112";
2
2
 
3
3
  export { version };
4
4
  //# sourceMappingURL=package.json.mjs.map
@@ -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>;