我想通过mobx的操作更改输入焦点

问题描述

我想更改输入焦点。

class Store {
  flag=false;
  changeFocus(){
    this.flag = true;
  }
}

const CallAction = ()=>{
  const {store} = useStore();
  return <div onClick={()=> store.changeFocus(); }>call</div>
}

const Input = ()=>{
  const ref = useRef();
  const {store} = useStore();
  useEffect(()=>{
    if(store.flag){
      ref.current.focus()
    }
  },[store.flag])

  return <input ref={ref} type="text" />
}

但是,此代码在iOS中不起作用。
因为它需要在用户操作事件中调用

它可以autorun()

autorun(()=>{
  if(store.flag){
    ref.current.focus();
  }
})

这是正确的吗?
我想知道不同的地方。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)