From 59c279e8a1c73e6aa2eb0af38ae35781e45ff2b5 Mon Sep 17 00:00:00 2001 From: "Stephen.K" <441858299@qq.com> Date: Wed, 31 Aug 2022 15:30:09 +0800 Subject: [PATCH] fix: issue #8278 (#8331) * fix: issue #8278 * fix(components): issue #8728 Co-authored-by: RealityBoy <1923740402@qq.com> --- packages/components/autocomplete/src/autocomplete.vue | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/components/autocomplete/src/autocomplete.vue b/packages/components/autocomplete/src/autocomplete.vue index f3814048af..e0ab3e6c0b 100644 --- a/packages/components/autocomplete/src/autocomplete.vue +++ b/packages/components/autocomplete/src/autocomplete.vue @@ -144,6 +144,7 @@ const regionRef = ref() const popperRef = ref() const listboxRef = ref() +let readonly = false let ignoreFocusEvent = false const suggestions = ref([]) const highlightedIndex = ref(-1) @@ -249,7 +250,8 @@ const handleFocus = (evt: FocusEvent) => { activated.value = true emit('focus', evt) - if (props.triggerOnFocus) { + // fix https://github.com/element-plus/element-plus/issues/8278 + if (props.triggerOnFocus && !readonly) { debouncedGetData(String(props.modelValue)) } } @@ -355,6 +357,8 @@ onMounted(() => { 'aria-activedescendant', `${listboxId.value}-item-${highlightedIndex.value}` ) + // get readonly attr + readonly = (inputRef.value as any).ref!.hasAttribute('readonly') }) defineExpose({