我有以下代码:
const handleClick = () => {
setToggleEditable(true);
textInput.current.focus();
}
按下按钮时会触发此操作,将带有ref“ textInput”的TextInput设置为可编辑,然后尝试将其聚焦。但是,它永远不会在第一次按下按钮时就专注于此。我认为这是因为TextInput尚未完成被设置为editalbe的工作,因此无法专注于此。有什么办法可以改变吗?
答案 0 :(得分:1)
我遇到了类似的问题,我通过在按下按钮后稍等片刻(100-150毫秒)然后专注于文本输入来解决此问题
focusOn = (ref: TextInput) => {
setTimeout(() => ref.focus(), 100)
}