From 8ae29b39bb522685ed9be51284426ed9b40fff0e Mon Sep 17 00:00:00 2001 From: heyongqi10 Date: Wed, 20 Aug 2025 17:33:32 +0800 Subject: [PATCH 1/3] =?UTF-8?q?feat:=20inputRef=E8=8E=B7=E5=8F=96=E7=9C=9F?= =?UTF-8?q?=E5=AE=9Einput-dom?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/packages/input/input.taro.tsx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/packages/input/input.taro.tsx b/src/packages/input/input.taro.tsx index d88240e831..0eef287947 100644 --- a/src/packages/input/input.taro.tsx +++ b/src/packages/input/input.taro.tsx @@ -83,7 +83,13 @@ export const Input = forwardRef((props: Partial, ref) => { setValue('') }, focus: () => { - inputRef.current?.focus() + console.error('inputRef', inputRef.current) + console.error('inputRef focus method', inputRef.current?.focus) + const taroInputCoreDom = inputRef.current as HTMLDivElement + console.error('taroInputCoreDom', taroInputCoreDom) + const inputDom = taroInputCoreDom.querySelector('input') + console.error('inputDom', inputDom) + inputDom?.focus() }, blur: () => { inputRef.current?.blur() From debe931c35638f9f3fdf741e338edf07c80ada02 Mon Sep 17 00:00:00 2001 From: heyongqi10 Date: Wed, 20 Aug 2025 22:55:37 +0800 Subject: [PATCH 2/3] =?UTF-8?q?feat:=20=E5=85=BC=E5=AE=B9=E5=B0=8F?= =?UTF-8?q?=E7=A8=8B=E5=BA=8F=E5=92=8Ch5=E8=8E=B7=E5=8F=96input=E6=A0=87?= =?UTF-8?q?=E7=AD=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/packages/input/input.taro.tsx | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/src/packages/input/input.taro.tsx b/src/packages/input/input.taro.tsx index 0eef287947..605b96accc 100644 --- a/src/packages/input/input.taro.tsx +++ b/src/packages/input/input.taro.tsx @@ -77,22 +77,28 @@ export const Input = forwardRef((props: Partial, ref) => { const inputRef = useRef(null) const [active, setActive] = useState(false) + // 兼容H5和小程序获取原生input标签 + const getNativeInput = () => { + if (Taro.getEnv() === 'WEB') { + const taroInputCoreEl = inputRef.current as HTMLElement + const inputEl = taroInputCoreEl?.querySelector?.('input') + return inputEl + } + return inputRef.current + } + useImperativeHandle(ref, () => { return { clear: () => { setValue('') }, focus: () => { - console.error('inputRef', inputRef.current) - console.error('inputRef focus method', inputRef.current?.focus) - const taroInputCoreDom = inputRef.current as HTMLDivElement - console.error('taroInputCoreDom', taroInputCoreDom) - const inputDom = taroInputCoreDom.querySelector('input') - console.error('inputDom', inputDom) - inputDom?.focus() + const nativeInput = getNativeInput() + nativeInput?.focus() }, blur: () => { - inputRef.current?.blur() + const nativeInput = getNativeInput() + nativeInput?.blur() }, get nativeElement() { return inputRef.current From ce134f6509e1651d64b9ee7661fda459bcae4e63 Mon Sep 17 00:00:00 2001 From: heyongqi10 Date: Wed, 20 Aug 2025 23:03:28 +0800 Subject: [PATCH 3/3] =?UTF-8?q?feat:=20=E5=8F=96=E6=B6=88=3F=E9=97=AE?= =?UTF-8?q?=E5=A5=BD=EF=BC=8C=E5=87=BA=E9=94=99=E7=9B=B4=E6=8E=A5=E6=8A=9B?= =?UTF-8?q?=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/packages/input/input.taro.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/input/input.taro.tsx b/src/packages/input/input.taro.tsx index 605b96accc..d27c75e450 100644 --- a/src/packages/input/input.taro.tsx +++ b/src/packages/input/input.taro.tsx @@ -81,7 +81,7 @@ export const Input = forwardRef((props: Partial, ref) => { const getNativeInput = () => { if (Taro.getEnv() === 'WEB') { const taroInputCoreEl = inputRef.current as HTMLElement - const inputEl = taroInputCoreEl?.querySelector?.('input') + const inputEl = taroInputCoreEl.querySelector('input') return inputEl } return inputRef.current