我正在使用多行TextInput,并希望在使用onScroll()道具滚动时关闭键盘
我尝试过的代码:
<View>
<TextInput
onChangeText={(bodyContent) => this.setState({bodyContent})}
value = {this.state.bodyContent}
editable = {true}
multiline={true}
onScroll = {() => Keyboard.dismiss() }
/>
</View>
还注意到onScroll事件不会在滚动上触发(即使使用console.log()也曾尝试过)
答案 0 :(得分:3)
是的,onScroll没有启动。关于此主题,存在一个问题,但是由于创建该问题的人使用的是RN的过期版本,因此该问题已解决。您应该使用最新版本的RN打开一个新期刊。我使用RN 0.59,所以它绝对仍然是一个问题。
发布链接:https://github.com/facebook/react-native/issues/20309
这是我的实现,可以在任何地方复制和粘贴:
import React, { useState } from 'react';
import { StyleSheet, TextInput, View, Keyboard } from 'react-native';
const FormInput = () => {
const [text, setText] = useState();
return (
<View style={styles.container}>
<TextInput
onChangeText={setText}
value={text}
editable
multiline
onScroll={() => Keyboard.dismiss()}
style={{ flex: 1, backgroundColor: 'red' }}
/>
</View>
);
};
const styles = StyleSheet.create({
container: {
flex: 1
}
});
export default FormInput;