diff --git a/core/core-frontend/src/custom-component/v-query/Select.vue b/core/core-frontend/src/custom-component/v-query/Select.vue index 9535688a2e..1f6937f528 100644 --- a/core/core-frontend/src/custom-component/v-query/Select.vue +++ b/core/core-frontend/src/custom-component/v-query/Select.vue @@ -592,6 +592,15 @@ const getOptionFromCascade = () => { selectValue.value = config.value.multiple ? [] : undefined debounceOptions(1) } +const selectHideClick = id => { + useEmitt().emitter.emit('select-hide_lick', id) +} + +const hideClick = id => { + if (id === config.value.id) return + const vnode = single.value || mult.value + vnode?.handleClickOutside?.() +} onBeforeMount(() => { init() @@ -599,6 +608,11 @@ onBeforeMount(() => { name: `${config.value.id}-select`, callback: getOptionFromCascade }) + + useEmitt({ + name: 'select-hide_lick', + callback: hideClick + }) }) defineExpose({ @@ -617,6 +631,7 @@ defineExpose({ :placeholder="placeholderText" v-loading="loading" filterable + @click="selectHideClick" @change="handleValueChange" :popper-class=" visible ? 'load-select filter-select-popper_class' : 'filter-select-popper_class' @@ -633,6 +648,7 @@ defineExpose({ v-else v-model="selectValue" key="single" + @click="selectHideClick" :placeholder="placeholderText" v-loading="loading" @change="handleValueChange"