当我专注于一个TextInput
时,点击另一个TextInput
字段并不能达到我所期望的效果(更改焦点那个TextInput
)。
相反,它只是模糊当前的TextInput
,需要第二次点按以关注下一个TextInput
。
有没有办法做到这一点,或者这是 React Native 目前的缺点?
示例代码:
class MyTest extends Component {
render() {
return (
<ScrollView style={styles.container}>
<View>
<TextInput style={styles.textInput} />
<TextInput style={styles.textInput} />
</View>
</ScrollView>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#ddd',
paddingTop: 64
},
textInput: {
backgroundColor: '#fff',
borderColor: '#000',
borderWidth: 1,
height: 46,
paddingLeft: 10
}
});
事实证明,当输入字段在ScrollView中时,它们的行为与我上面描述的一样(你不能只从一个字段到另一个字段)。我尝试在一个视图中包装TextInputs来解决这个问题,但它没有用。
答案 0 :(得分:3)
您需要向ScrollView添加keyboardShouldPersistTaps={true}
。
keyboardShouldPersistTaps bool:
如果为false,则在键盘启动时点击聚焦文本输入外部会解除键盘。如果为true,则滚动视图将为 没有抓住水龙头,键盘不会自动解除。该 默认值为false。
答案 1 :(得分:-1)
您可以使用TextInput委托方法
使用Resign First Responder