react-native - React Native TextInput setState() 隐藏键盘
问题描述
请检查小吃链接, https ://snack.expo.io/@banid/textinput 过滤器视图上的 TextInput(按下按钮时显示)在我调用 setState() 时隐藏键盘。我调用 setState 来更新 TextInput 的值。因此,我无法在 TextInput 上连续输入。这是一个错误还是我做错了什么?谢谢
解决方案
问题是您正在创建一个新的(匿名)函数,该函数在每次更新时呈现 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
推荐阅读
- apache-kafka - Avro 可为空的逻辑类型示例
- r - 难以辨认的轴标签
- lua - 为脚本添加冷却时间
- node.js - Browserstack 加载 Cookie 策略窗口两次
- redux-saga - 使用 Redux-saga 轮询在第一次调用时不起作用
- azure-active-directory - 如何在 Pulumi 的 Azure AD 中获取组?
- css-loader - 错误:尝试本地服务应用程序时无法从 css-loader 中找到模块“./replaceSymbols.js”
- android - 无法在 SQLite 中插入数据
- reactjs - 在 React 中通过 Three.js 加载 gltf 文件时出现语法错误
- javascript - data-toggle 和 data-target 不被 HTML 识别为属性