el-plus 0.0.111 → 0.0.113
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.
- package/CHANGELOG.md +12 -0
- package/dist/index.full.js +37 -22
- package/dist/index.full.min.js +4 -4
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +4 -4
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +37 -22
- package/es/components/date-picker-range/src/date-picker-range.vue2.mjs +4 -0
- package/es/components/date-picker-range/src/date-picker-range.vue2.mjs.map +1 -1
- package/es/components/select/index.d.ts +15 -14
- package/es/components/select/src/select.d.ts +4 -0
- package/es/components/select/src/select.mjs +5 -0
- package/es/components/select/src/select.mjs.map +1 -1
- package/es/components/select/src/select.vue.d.ts +9 -8
- package/es/components/select/src/select.vue2.mjs +4 -7
- package/es/components/select/src/select.vue2.mjs.map +1 -1
- package/es/components/select/src/use-select.d.ts +2 -2
- package/es/components/select/src/use-select.mjs +22 -13
- package/es/components/select/src/use-select.mjs.map +1 -1
- package/es/package.json.mjs +1 -1
- package/lib/components/date-picker-range/src/date-picker-range.vue2.js +4 -0
- package/lib/components/date-picker-range/src/date-picker-range.vue2.js.map +1 -1
- package/lib/components/select/index.d.ts +15 -14
- package/lib/components/select/src/select.d.ts +4 -0
- package/lib/components/select/src/select.js +5 -0
- package/lib/components/select/src/select.js.map +1 -1
- package/lib/components/select/src/select.vue.d.ts +9 -8
- package/lib/components/select/src/select.vue2.js +4 -7
- package/lib/components/select/src/select.vue2.js.map +1 -1
- package/lib/components/select/src/use-select.d.ts +2 -2
- package/lib/components/select/src/use-select.js +22 -13
- package/lib/components/select/src/use-select.js.map +1 -1
- package/lib/package.json.js +1 -1
- package/package.json +1 -1
package/dist/index.full.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! ElPlus v0.0.
|
|
1
|
+
/*! ElPlus v0.0.113 */
|
|
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
|
-
|
|
3012
|
+
loadedOptions.value = data;
|
|
3007
3013
|
} else if (data && typeof data === "object") {
|
|
3008
3014
|
const rawData = data;
|
|
3009
|
-
|
|
3015
|
+
loadedOptions.value = rawData?.list || rawData?.data || [];
|
|
3010
3016
|
} else {
|
|
3011
|
-
|
|
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
|
|
3021
|
-
|
|
3022
|
-
|
|
3023
|
-
|
|
3024
|
-
|
|
3025
|
-
|
|
3026
|
-
|
|
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
|
-
|
|
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"
|
|
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(
|
|
3118
|
+
loadOptions();
|
|
3108
3119
|
watch(
|
|
3109
3120
|
() => props.options,
|
|
3110
3121
|
() => {
|
|
3111
|
-
loadOptions(
|
|
3122
|
+
loadOptions();
|
|
3112
3123
|
},
|
|
3113
3124
|
{
|
|
3114
3125
|
deep: true
|
|
@@ -4047,6 +4058,10 @@ var _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
4047
4058
|
value,
|
|
4048
4059
|
(newValue) => {
|
|
4049
4060
|
if (props.type === "daterange") {
|
|
4061
|
+
if (newValue && newValue[1]) {
|
|
4062
|
+
const endDate = new Date(newValue[1]);
|
|
4063
|
+
newValue[1] = endDate.setHours(23, 59, 59, 0);
|
|
4064
|
+
}
|
|
4050
4065
|
start.value = newValue ? newValue[0] : "";
|
|
4051
4066
|
end.value = newValue ? newValue[1] : "";
|
|
4052
4067
|
}
|
|
@@ -4540,7 +4555,7 @@ var components = [
|
|
|
4540
4555
|
EpFooterInfo
|
|
4541
4556
|
];
|
|
4542
4557
|
|
|
4543
|
-
var version = "0.0.
|
|
4558
|
+
var version = "0.0.113";
|
|
4544
4559
|
|
|
4545
4560
|
var globalProperties = {
|
|
4546
4561
|
install(app) {
|
|
@@ -31,6 +31,10 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
31
31
|
value,
|
|
32
32
|
(newValue) => {
|
|
33
33
|
if (props.type === "daterange") {
|
|
34
|
+
if (newValue && newValue[1]) {
|
|
35
|
+
const endDate = new Date(newValue[1]);
|
|
36
|
+
newValue[1] = endDate.setHours(23, 59, 59, 0);
|
|
37
|
+
}
|
|
34
38
|
start.value = newValue ? newValue[0] : "";
|
|
35
39
|
end.value = newValue ? newValue[1] : "";
|
|
36
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-picker-range.vue2.mjs","sources":["../../../../../../packages/components/date-picker-range/src/date-picker-range.vue"],"sourcesContent":["<template>\n <el-date-picker\n v-model=\"value\"\n :class=\"`${bem.b()} ${prepareClassNames()}`\"\n :style=\"{\n ...prepareStyles(),\n }\"\n v-bind=\"customAttrs\"\n />\n</template>\n<script setup lang=\"ts\">\nimport { computed, useSlots, watch, ref, onMounted } from 'vue'\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport { datePickerRangeProps, datePickerRangeEmits } from './date-picker-range'\nimport type {\n DatePickerRangeProps,\n DatePickerRangeEmits,\n} from './date-picker-range'\nimport {\n prepareProps,\n prepareEvents,\n prepareClassNames,\n prepareStyles,\n} from '@el-plus/utils/props'\n\ndefineOptions({\n name: 'EpDatePickerRange',\n inheritAttrs: false,\n})\nconst bem = createNameSpace('datePickerRange')\nconst props = defineProps(datePickerRangeProps)\nconst emit = defineEmits(datePickerRangeEmits)\nconst slots = computed(() => {\n return Object.keys(useSlots())\n})\nconst value = defineModel<DatePickerRangeProps['modelValue']>()\nconst start = defineModel<DatePickerRangeProps['modelValue']>('start')\nconst end = defineModel<DatePickerRangeProps['modelValue']>('end')\nwatch(\n value,\n (newValue) => {\n if (props.type === 'daterange') {\n start.value = newValue ? newValue[0] : ''\n end.value = newValue ? newValue[1] : ''\n }\n },\n {\n immediate: true,\n },\n)\nconst customAttrs = computed(() => {\n return {\n ...prepareProps(props, ['modelValue']),\n // ...prepareEvents<InputEmits>(emit, inputEmitsKeys),\n }\n})\n</script>\n"],"names":["_useModel","_openBlock","_createBlock","_mergeProps","_unref"],"mappings":";;;;;;;;;;;;;;;;;;;;;AA6BA,IAAA,MAAM,GAAA,GAAM,gBAAgB,iBAAiB,CAAA;AAC7C,IAAA,MAAM,KAAA,GAAQ,OAAA;AAEd,IAAc,SAAS,MAAM;AAC3B,MAAA,OAAO,MAAA,CAAO,IAAA,CAAK,QAAA,EAAU,CAAA;AAAA,IAC/B,CAAC;AACD,IAAA,MAAM,KAAA,GAAQA,QAAA,CAA+C,OAAA,EAAA,YAAC,CAAA;AAC9D,IAAA,MAAM,KAAA,GAAQA,QAAA,CAA+C,OAAA,EAAC,OAAO,CAAA;AACrE,IAAA,MAAM,GAAA,GAAMA,QAAA,CAA+C,OAAA,EAAC,KAAK,CAAA;AACjE,IAAA,KAAA;AAAA,MACE,KAAA;AAAA,MACA,CAAC,QAAA,KAAa;AACZ,QAAA,IAAI,KAAA,CAAM,SAAS,WAAA,EAAa;AAC9B,UAAA,KAAA,CAAM,KAAA,GAAQ,QAAA,GAAW,QAAA,CAAS,CAAC,CAAA,GAAI,EAAA;AACvC,UAAA,GAAA,CAAI,KAAA,GAAQ,QAAA,GAAW,QAAA,CAAS,CAAC,CAAA,GAAI,EAAA;AAAA,QACvC;AAAA,MACF,CAAA;AAAA,MACA;AAAA,QACE,SAAA,EAAW;AAAA;AACb,KACF;AACA,IAAA,MAAM,WAAA,GAAc,SAAS,MAAM;AACjC,MAAA,OAAO;AAAA,QACL,GAAG,YAAA,CAAa,KAAA,EAAO,CAAC,YAAY,CAAC;AAAA;AAAA,OAEvC;AAAA,IACF,CAAC,CAAA;;;
|
|
1
|
+
{"version":3,"file":"date-picker-range.vue2.mjs","sources":["../../../../../../packages/components/date-picker-range/src/date-picker-range.vue"],"sourcesContent":["<template>\n <el-date-picker\n v-model=\"value\"\n :class=\"`${bem.b()} ${prepareClassNames()}`\"\n :style=\"{\n ...prepareStyles(),\n }\"\n v-bind=\"customAttrs\"\n />\n</template>\n<script setup lang=\"ts\">\nimport { computed, useSlots, watch, ref, onMounted } from 'vue'\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport { datePickerRangeProps, datePickerRangeEmits } from './date-picker-range'\nimport type {\n DatePickerRangeProps,\n DatePickerRangeEmits,\n} from './date-picker-range'\nimport {\n prepareProps,\n prepareEvents,\n prepareClassNames,\n prepareStyles,\n} from '@el-plus/utils/props'\n\ndefineOptions({\n name: 'EpDatePickerRange',\n inheritAttrs: false,\n})\nconst bem = createNameSpace('datePickerRange')\nconst props = defineProps(datePickerRangeProps)\nconst emit = defineEmits(datePickerRangeEmits)\nconst slots = computed(() => {\n return Object.keys(useSlots())\n})\nconst value = defineModel<DatePickerRangeProps['modelValue']>()\nconst start = defineModel<DatePickerRangeProps['modelValue']>('start')\nconst end = defineModel<DatePickerRangeProps['modelValue']>('end')\nwatch(\n value,\n (newValue) => {\n if (props.type === 'daterange') {\n if (newValue && newValue[1]) {\n const endDate = new Date(newValue[1])\n newValue[1] = endDate.setHours(23, 59, 59, 0)\n }\n start.value = newValue ? newValue[0] : ''\n end.value = newValue ? newValue[1] : ''\n }\n },\n {\n immediate: true,\n },\n)\nconst customAttrs = computed(() => {\n return {\n ...prepareProps(props, ['modelValue']),\n // ...prepareEvents<InputEmits>(emit, inputEmitsKeys),\n }\n})\n</script>\n"],"names":["_useModel","_openBlock","_createBlock","_mergeProps","_unref"],"mappings":";;;;;;;;;;;;;;;;;;;;;AA6BA,IAAA,MAAM,GAAA,GAAM,gBAAgB,iBAAiB,CAAA;AAC7C,IAAA,MAAM,KAAA,GAAQ,OAAA;AAEd,IAAc,SAAS,MAAM;AAC3B,MAAA,OAAO,MAAA,CAAO,IAAA,CAAK,QAAA,EAAU,CAAA;AAAA,IAC/B,CAAC;AACD,IAAA,MAAM,KAAA,GAAQA,QAAA,CAA+C,OAAA,EAAA,YAAC,CAAA;AAC9D,IAAA,MAAM,KAAA,GAAQA,QAAA,CAA+C,OAAA,EAAC,OAAO,CAAA;AACrE,IAAA,MAAM,GAAA,GAAMA,QAAA,CAA+C,OAAA,EAAC,KAAK,CAAA;AACjE,IAAA,KAAA;AAAA,MACE,KAAA;AAAA,MACA,CAAC,QAAA,KAAa;AACZ,QAAA,IAAI,KAAA,CAAM,SAAS,WAAA,EAAa;AAC9B,UAAA,IAAI,QAAA,IAAY,QAAA,CAAS,CAAC,CAAA,EAAG;AAC3B,YAAA,MAAM,OAAA,GAAU,IAAI,IAAA,CAAK,QAAA,CAAS,CAAC,CAAC,CAAA;AACpC,YAAA,QAAA,CAAS,CAAC,CAAA,GAAI,OAAA,CAAQ,SAAS,EAAA,EAAI,EAAA,EAAI,IAAI,CAAC,CAAA;AAAA,UAC9C;AACA,UAAA,KAAA,CAAM,KAAA,GAAQ,QAAA,GAAW,QAAA,CAAS,CAAC,CAAA,GAAI,EAAA;AACvC,UAAA,GAAA,CAAI,KAAA,GAAQ,QAAA,GAAW,QAAA,CAAS,CAAC,CAAA,GAAI,EAAA;AAAA,QACvC;AAAA,MACF,CAAA;AAAA,MACA;AAAA,QACE,SAAA,EAAW;AAAA;AACb,KACF;AACA,IAAA,MAAM,WAAA,GAAc,SAAS,MAAM;AACjC,MAAA,OAAO;AAAA,QACL,GAAG,YAAA,CAAa,KAAA,EAAO,CAAC,YAAY,CAAC;AAAA;AAAA,OAEvC;AAAA,IACF,CAAC,CAAA;;;AA1DC,MAAA,OAAAC,SAAA,EAAA,EAAAC,WAAA,CAOE,yBAAA,EAPFC,UAAA,CAOE;AAAA,oBANS,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,CAAA;AAAA,QACtC,KAAA,EAAK;AAAA,aAAaA,KAAA,CAAA,aAAA,CAAA;AAAa;SAGxB,WAAA,CAAA,KAAW,CAAA,EAAA,IAAA,EAAA,EAAA,EAAA,CAAA,YAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,OAAA,CAAA,CAAA;AAAA;;;;;;"}
|
|
@@ -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;
|
|
@@ -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,
|
|
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"
|
|
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(
|
|
34
|
+
loadOptions();
|
|
38
35
|
watch(
|
|
39
36
|
() => props.options,
|
|
40
37
|
() => {
|
|
41
|
-
loadOptions(
|
|
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
|
|
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").
|
|
5
|
-
loadOptions: (
|
|
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
|
-
|
|
18
|
+
loadedOptions.value = data;
|
|
18
19
|
} else if (data && typeof data === "object") {
|
|
19
20
|
const rawData = data;
|
|
20
|
-
|
|
21
|
+
loadedOptions.value = rawData?.list || rawData?.data || [];
|
|
21
22
|
} else {
|
|
22
|
-
|
|
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
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
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
|
-
|
|
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
|
|
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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"}
|
package/es/package.json.mjs
CHANGED
|
@@ -35,6 +35,10 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
35
35
|
value,
|
|
36
36
|
(newValue) => {
|
|
37
37
|
if (props$1.type === "daterange") {
|
|
38
|
+
if (newValue && newValue[1]) {
|
|
39
|
+
const endDate = new Date(newValue[1]);
|
|
40
|
+
newValue[1] = endDate.setHours(23, 59, 59, 0);
|
|
41
|
+
}
|
|
38
42
|
start.value = newValue ? newValue[0] : "";
|
|
39
43
|
end.value = newValue ? newValue[1] : "";
|
|
40
44
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-picker-range.vue2.js","sources":["../../../../../../packages/components/date-picker-range/src/date-picker-range.vue"],"sourcesContent":["<template>\n <el-date-picker\n v-model=\"value\"\n :class=\"`${bem.b()} ${prepareClassNames()}`\"\n :style=\"{\n ...prepareStyles(),\n }\"\n v-bind=\"customAttrs\"\n />\n</template>\n<script setup lang=\"ts\">\nimport { computed, useSlots, watch, ref, onMounted } from 'vue'\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport { datePickerRangeProps, datePickerRangeEmits } from './date-picker-range'\nimport type {\n DatePickerRangeProps,\n DatePickerRangeEmits,\n} from './date-picker-range'\nimport {\n prepareProps,\n prepareEvents,\n prepareClassNames,\n prepareStyles,\n} from '@el-plus/utils/props'\n\ndefineOptions({\n name: 'EpDatePickerRange',\n inheritAttrs: false,\n})\nconst bem = createNameSpace('datePickerRange')\nconst props = defineProps(datePickerRangeProps)\nconst emit = defineEmits(datePickerRangeEmits)\nconst slots = computed(() => {\n return Object.keys(useSlots())\n})\nconst value = defineModel<DatePickerRangeProps['modelValue']>()\nconst start = defineModel<DatePickerRangeProps['modelValue']>('start')\nconst end = defineModel<DatePickerRangeProps['modelValue']>('end')\nwatch(\n value,\n (newValue) => {\n if (props.type === 'daterange') {\n start.value = newValue ? newValue[0] : ''\n end.value = newValue ? newValue[1] : ''\n }\n },\n {\n immediate: true,\n },\n)\nconst customAttrs = computed(() => {\n return {\n ...prepareProps(props, ['modelValue']),\n // ...prepareEvents<InputEmits>(emit, inputEmitsKeys),\n }\n})\n</script>\n"],"names":["bem","createNameSpace","props","computed","useSlots","_useModel","watch","prepareProps","_openBlock","_createBlock","_mergeProps","_unref","prepareClassNames","prepareStyles"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,IAAA,MAAMA,KAAA,GAAMC,oBAAgB,iBAAiB,CAAA;AAC7C,IAAA,MAAMC,OAAA,GAAQ,OAAA;AAEd,IAAcC,aAAS,MAAM;AAC3B,MAAA,OAAO,MAAA,CAAO,IAAA,CAAKC,YAAA,EAAU,CAAA;AAAA,IAC/B,CAAC;AACD,IAAA,MAAM,KAAA,GAAQC,YAAA,CAA+C,OAAA,EAAA,YAAC,CAAA;AAC9D,IAAA,MAAM,KAAA,GAAQA,YAAA,CAA+C,OAAA,EAAC,OAAO,CAAA;AACrE,IAAA,MAAM,GAAA,GAAMA,YAAA,CAA+C,OAAA,EAAC,KAAK,CAAA;AACjE,IAAAC,SAAA;AAAA,MACE,KAAA;AAAA,MACA,CAAC,QAAA,KAAa;AACZ,QAAA,IAAIJ,OAAA,CAAM,SAAS,WAAA,EAAa;AAC9B,UAAA,KAAA,CAAM,KAAA,GAAQ,QAAA,GAAW,QAAA,CAAS,CAAC,CAAA,GAAI,EAAA;AACvC,UAAA,GAAA,CAAI,KAAA,GAAQ,QAAA,GAAW,QAAA,CAAS,CAAC,CAAA,GAAI,EAAA;AAAA,QACvC;AAAA,MACF,CAAA;AAAA,MACA;AAAA,QACE,SAAA,EAAW;AAAA;AACb,KACF;AACA,IAAA,MAAM,WAAA,GAAcC,aAAS,MAAM;AACjC,MAAA,OAAO;AAAA,QACL,GAAGI,kBAAA,CAAaL,OAAA,EAAO,CAAC,YAAY,CAAC;AAAA;AAAA,OAEvC;AAAA,IACF,CAAC,CAAA;;;
|
|
1
|
+
{"version":3,"file":"date-picker-range.vue2.js","sources":["../../../../../../packages/components/date-picker-range/src/date-picker-range.vue"],"sourcesContent":["<template>\n <el-date-picker\n v-model=\"value\"\n :class=\"`${bem.b()} ${prepareClassNames()}`\"\n :style=\"{\n ...prepareStyles(),\n }\"\n v-bind=\"customAttrs\"\n />\n</template>\n<script setup lang=\"ts\">\nimport { computed, useSlots, watch, ref, onMounted } from 'vue'\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport { datePickerRangeProps, datePickerRangeEmits } from './date-picker-range'\nimport type {\n DatePickerRangeProps,\n DatePickerRangeEmits,\n} from './date-picker-range'\nimport {\n prepareProps,\n prepareEvents,\n prepareClassNames,\n prepareStyles,\n} from '@el-plus/utils/props'\n\ndefineOptions({\n name: 'EpDatePickerRange',\n inheritAttrs: false,\n})\nconst bem = createNameSpace('datePickerRange')\nconst props = defineProps(datePickerRangeProps)\nconst emit = defineEmits(datePickerRangeEmits)\nconst slots = computed(() => {\n return Object.keys(useSlots())\n})\nconst value = defineModel<DatePickerRangeProps['modelValue']>()\nconst start = defineModel<DatePickerRangeProps['modelValue']>('start')\nconst end = defineModel<DatePickerRangeProps['modelValue']>('end')\nwatch(\n value,\n (newValue) => {\n if (props.type === 'daterange') {\n if (newValue && newValue[1]) {\n const endDate = new Date(newValue[1])\n newValue[1] = endDate.setHours(23, 59, 59, 0)\n }\n start.value = newValue ? newValue[0] : ''\n end.value = newValue ? newValue[1] : ''\n }\n },\n {\n immediate: true,\n },\n)\nconst customAttrs = computed(() => {\n return {\n ...prepareProps(props, ['modelValue']),\n // ...prepareEvents<InputEmits>(emit, inputEmitsKeys),\n }\n})\n</script>\n"],"names":["bem","createNameSpace","props","computed","useSlots","_useModel","watch","prepareProps","_openBlock","_createBlock","_mergeProps","_unref","prepareClassNames","prepareStyles"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,IAAA,MAAMA,KAAA,GAAMC,oBAAgB,iBAAiB,CAAA;AAC7C,IAAA,MAAMC,OAAA,GAAQ,OAAA;AAEd,IAAcC,aAAS,MAAM;AAC3B,MAAA,OAAO,MAAA,CAAO,IAAA,CAAKC,YAAA,EAAU,CAAA;AAAA,IAC/B,CAAC;AACD,IAAA,MAAM,KAAA,GAAQC,YAAA,CAA+C,OAAA,EAAA,YAAC,CAAA;AAC9D,IAAA,MAAM,KAAA,GAAQA,YAAA,CAA+C,OAAA,EAAC,OAAO,CAAA;AACrE,IAAA,MAAM,GAAA,GAAMA,YAAA,CAA+C,OAAA,EAAC,KAAK,CAAA;AACjE,IAAAC,SAAA;AAAA,MACE,KAAA;AAAA,MACA,CAAC,QAAA,KAAa;AACZ,QAAA,IAAIJ,OAAA,CAAM,SAAS,WAAA,EAAa;AAC9B,UAAA,IAAI,QAAA,IAAY,QAAA,CAAS,CAAC,CAAA,EAAG;AAC3B,YAAA,MAAM,OAAA,GAAU,IAAI,IAAA,CAAK,QAAA,CAAS,CAAC,CAAC,CAAA;AACpC,YAAA,QAAA,CAAS,CAAC,CAAA,GAAI,OAAA,CAAQ,SAAS,EAAA,EAAI,EAAA,EAAI,IAAI,CAAC,CAAA;AAAA,UAC9C;AACA,UAAA,KAAA,CAAM,KAAA,GAAQ,QAAA,GAAW,QAAA,CAAS,CAAC,CAAA,GAAI,EAAA;AACvC,UAAA,GAAA,CAAI,KAAA,GAAQ,QAAA,GAAW,QAAA,CAAS,CAAC,CAAA,GAAI,EAAA;AAAA,QACvC;AAAA,MACF,CAAA;AAAA,MACA;AAAA,QACE,SAAA,EAAW;AAAA;AACb,KACF;AACA,IAAA,MAAM,WAAA,GAAcC,aAAS,MAAM;AACjC,MAAA,OAAO;AAAA,QACL,GAAGI,kBAAA,CAAaL,OAAA,EAAO,CAAC,YAAY,CAAC;AAAA;AAAA,OAEvC;AAAA,IACF,CAAC,CAAA;;;AA1DC,MAAA,OAAAM,aAAA,EAAA,EAAAC,eAAA,CAOE,yBAAA,EAPFC,cAAA,CAOE;AAAA,oBANS,KAAA,CAAA,KAAA;AAAA,2CAAA,KAAA,CAAK,KAAA,GAAA,MAAA;AAAA,QACb,KAAA,EAAK,CAAA,EAAKC,SAAA,CAAAX,KAAA,CAAA,CAAI,CAAA,MAAOW,SAAA,CAAAC,uBAAA,CAAA,EAAiB,CAAA,CAAA;AAAA,QACtC,KAAA,EAAK;AAAA,aAAaD,SAAA,CAAAE,mBAAA,CAAA;AAAa;SAGxB,WAAA,CAAA,KAAW,CAAA,EAAA,IAAA,EAAA,EAAA,EAAA,CAAA,YAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,OAAA,CAAA,CAAA;AAAA;;;;;;"}
|