首页 > 解决方案 > React Native TextInput setState() 隐藏键盘

问题描述

请检查小吃链接, https ://snack.expo.io/@banid/textinput 过滤器视图上的 TextInput(按下按钮时显示)在我调用 setState() 时隐藏键盘。我调用 setState 来更新 TextInput 的值。因此,我无法在 TextInput 上连续输入。这是一个错误还是我做错了什么?谢谢

标签: react-nativereact-native-android

解决方案


问题是您正在创建一个新的(匿名)函数,该函数在每次更新时呈现 FlatList 的标题

<FlatList .... ListHeaderComponent={() => this.showHeader()} />

因此,正在创建一个新的 TextInput 而不是更新现有的。

解决方案

改变ListHeaderComponent={() => this.showHeader()}

作为ListHeaderComponent={this.showHeader}ListHeaderComponent 可以是一个函数

https://facebook.github.io/react-native/docs/flatlist#listheadercomponent

类似问题: https ://github.com/react-native-training/react-native-elements/issues/559


推荐阅读