diff --git a/components/select/select.vue b/components/select/select.vue index 4dbbcafc..7906bbf2 100644 --- a/components/select/select.vue +++ b/components/select/select.vue @@ -63,7 +63,6 @@ import { onMounted, CSSProperties, defineComponent, - nextTick, } from 'vue'; import getPrefixCls from '../_util/getPrefixCls'; import { useTheme } from '../_theme/useTheme'; @@ -112,8 +111,14 @@ export default defineComponent({ ? useArrayModel(props, emit) : useNormalModel(props, emit); + const triggerRef = ref(); + const triggerWidth = ref(0); + watch(isOpenedRef, () => { emit('visibleChange', unref(isOpenedRef)); + if (isOpenedRef.value && triggerRef.value) { + triggerWidth.value = triggerRef.value.$el.offsetWidth; + } }); const handleChange = () => { @@ -296,9 +301,6 @@ export default defineComponent({ } }; - const triggerRef = ref(); - const triggerWidth = ref(0); - onMounted(() => { if (triggerRef.value) { triggerWidth.value = triggerRef.value.$el.offsetWidth;