键盘无法在反应本机otp输入中打开

问题描述 投票:0回答:4

我是 React Native 的初学者,正在尝试设计一个 OTP 输入框。打开屏幕时键盘未打开。第一个占位符自动对焦,但键盘未打开。我正在使用这个库。

反应原生 otp 输入

react-native
4个回答
6
投票

设置

autoFocusOnLoad={false}
它在我这边工作。


2
投票

解决方案:

const OTPContainer = () => {
const otpRef = useRef(null);

useEffect(() => {
setTimeout(() => otpRef.current.focusField(0), 250);
}, []);

return <OTPInputView ref={otpRef} autoFocusOnLoad={false}/>}

0
投票

设定即可

自动焦点加载= {true}

它会完成你的工作,也会解决你的问题。 :)


0
投票

如果键盘未在 Android 中打开,此解决方案:-

const OTPInputComponent = () => {
  const otpInputRef = useRef(null);
  const [clearInput, setClearInput] = useState(false);
  const [enteredPin, setEnteredPin] = useState('');

  useEffect(() => {
    const timeout = setTimeout(() => {
      otpInputRef.current.focusField(0);
    }, 500);
    
    return () => clearTimeout(timeout); // Clean up the timeout on unmount
  }, []);

  return (
    <OTPInputView
      ref={otpInputRef}
      autoFocusOnLoad={false}
      style={styles.otpStyle}
      pinCount={4}
      secureTextEntry={true}
      clearInputs={clearInput}
      codeInputFieldStyle={styles.underlineStyleBase}
      codeInputHighlightStyle={styles.underlineStyleHighLighted}
      code={enteredPin}
    />
  );
};

© www.soinside.com 2019 - 2024. All rights reserved.