gpt4 book ai didi

javascript - TouchableHighlight 在键盘打开时不接受按下事件

转载 作者:可可西里 更新时间:2023-11-01 02:26:05 25 4
gpt4 key购买 nike

我有一个组件,它并排包含一个 TextInput 和一个 TouchableHighlight。你点击文本框,输入你想要的内容,然后点击添加按钮保存它。现在的问题是打字时键盘打开,你需要关闭它,否则按钮不会响应。如果我先点击按钮,键盘消失,然后再点击一次。我觉得我应该能够将两者合二为一。这是我的渲染组件:

class FormInput extends Component {
constructor(props) {
super(props);
this.state = {
text: null
};
}
componentDidMount() {
this.refs.textInput.focus();
}

_changeTextEvent(event) {
this.setState({
text: event.nativeEvent.text
});
}

render() {
var style = [styles.textBox];
if (this.props.errors.length > 0) {
style.push(styles.errorTextBox);
}
var errors = null;
if (this.props.errors.length > 0) {
errors = this.props.errors.map((msg) => {
return (<Text style={styles.errorLabel}>{msg}</Text>);
});
}
return (
<View>
<View style={styles.container}>
<TextInput
ref='textInput'
style={style}
onChange={this._changeTextEvent.bind(this)}
autoFocus={true}
/>
<TouchableHighlight underlayColor="#96DBFF" style={styles.addButton} onPress={() => { this.props.pressEvent(this.state.text) }}>
<Text style={styles.addButtonText}>Add</Text>
</TouchableHighlight>
</View>
<View>{errors}</View>
</View>
);
}
}

最佳答案

请参阅有关在文本字段上调用 ​​blur 以关闭它的讨论:

https://github.com/facebook/react-native/issues/113

此外,我刚刚在模拟器上对此进行了测试,即使在 TextInput 具有焦点且键盘已启动时,TouchableHighlight 也确实会响应。通过添加如下代码:

pressEvent() {
this.refs.textInput.blur();
}

我可以从 TouchableHighlight 中关闭键盘。

关于javascript - TouchableHighlight 在键盘打开时不接受按下事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30810679/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com