在 React Native 中每次按键时键盘都会消失

Ash*_*pta 6 javascript react-native

我想在 react native 中映射键值对。该值是可编辑的文本条目。映射的组件显示正常,但是当我尝试编辑 TextInput 时,当我输入第一个字母时键盘消失了。不知道是什么原因造成的问题。

如果我只是在父元素中放置一个 TextInput,它工作得很好,但在我使用 map 函数时不起作用。

 <View style={styles.main}>
        <View>
            {this._getDetailElements()}
        </View>
 </View>
Run Code Online (Sandbox Code Playgroud)

_getDetailElements() 函数

 _getDetailElements = () => {

    return Object.keys(this.state.data).map(elem => (
        <View key={shortid.generate()} style={styles.element}>
                <TextInput
                editable={this.state.editable}
                onChangeText={text => this.setState({seletedText: text})}
                value={this.state.selectedText}
                /> 
        </View>
    )
    );
}
Run Code Online (Sandbox Code Playgroud)

MoH*_*ani 1

我认为你应该将其更改valuedefaultValue这样:

    <TextInput
        editable={this.state.editable}
        onChangeText={text => this.setState({seletedText: text})}
        defaultValue={this.state.selectedText}
    />
Run Code Online (Sandbox Code Playgroud)

祝你好运

  • 不起作用。有趣的是,如果我删除映射函数中的父视图并只映射 **TextInput** ,它就会正常工作。 (5认同)
  • @AshishGupta:我也遇到了同样的问题,您删除包装视图的解决方案有效。只是想弄清楚为什么会这样 - 它与关键参数有关 (2认同)