当前位置:  开发笔记 > Android > 正文

反应原生.当页面在计时器滴答时重新渲染时,如何将焦点保持在文本输入上

如何解决《反应原生.当页面在计时器滴答时重新渲染时,如何将焦点保持在文本输入上》经验,为你挑选了1个好方法。

我在clojurescript中使用反应原生物在android上编写一个计时器应用程序(使用试剂希望不重要).

我有一个TextInput地方,我接受用户的文字来命名计时器.每当我的计时器打勾,整个Android应用程序重新渲染,我就会失去焦点TextInput.我目前正在使用onChangeText保存我正在键入的字符,有没有办法在计时器滴答作响时保持对文本输入的关注?

谢谢.



1> John Shammas..:

最简单的解决方案是调用方法this.refs.yourTextInput.focus()内部componentDidUpdate.但是,这可能会导致键盘动画下来,然后再次动画.

问题的根源是您的计时器值和TextInput共享相同的范围,因此在更新状态时,计时器和TextInput都将通过该render函数重新呈现.理想情况下,您可以:

将计时器文本放在自定义组件中,并在该自定义组件上添加方法以设置其自己的状态.只要自定义组件的状态是正在更新的状态,这将仅导致自定义组件重新呈现.

推荐阅读
贴进你的心聆听你的世界
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有