From de29873f4029c665a970649ebcd405dcd1fb78ad Mon Sep 17 00:00:00 2001 From: Zhongxiang Wang Date: Wed, 20 Apr 2022 17:01:29 +0800 Subject: [PATCH] fix(components): [select] not set input padding anymore (#7269) --- packages/components/select/src/select.vue | 27 +++++++---------------- 1 file changed, 8 insertions(+), 19 deletions(-) diff --git a/packages/components/select/src/select.vue b/packages/components/select/src/select.vue index 15bb67903d..8ea49e1836 100644 --- a/packages/components/select/src/select.vue +++ b/packages/components/select/src/select.vue @@ -543,27 +543,16 @@ export default defineComponent({ resetInputHeight() } nextTick(() => { - if (!reference.value) return - if (reference.value.$el) { - inputWidth.value = reference.value.$el.getBoundingClientRect().width - } + const refEl = reference.value && reference.value.$el + if (!refEl) return + inputWidth.value = refEl.getBoundingClientRect().width + if (ctx.slots.prefix) { - const inputChildNodes = reference.value.$el.childNodes - const input = (Array.from(inputChildNodes) as HTMLElement[]).find( - (item) => item.tagName === 'INPUT' + const prefix = refEl.querySelector(`.${nsInput.e('prefix')}`) + prefixWidth.value = Math.max( + prefix.getBoundingClientRect().width + 5, + 30 ) - if (input) { - const prefix = reference.value.$el.querySelector( - `.${nsInput.e('prefix')}` - ) - prefixWidth.value = Math.max( - prefix.getBoundingClientRect().width + 5, - 30 - ) - if (states.prefixWidth) { - input.style.paddingLeft = `${Math.max(states.prefixWidth, 30)}px` - } - } } }) setSelected()