React Native中的Keyboard.dismiss不能关闭键盘

时间:2019-12-23 06:25:27

标签: ios react-native keyboard expo

我希望在用户单击键盘或输入之外的任何位置时关闭键盘,但是当我在其他位置单击时不能关闭键盘:

        <TouchableWithoutFeedback style={styles.container} onPress={Keyboard.dismiss}>
            <View style={styles.inputContainer}>
                <TextInput
                    placeholder="Search Term"
                    style={styles.input}
                    onChangeText={setSearch}
                    value={search}
                    returnKeyType="search"
                    onSubmitEditing={handleSubmit}
                />
            </View>
        </ TouchableWithoutFeedback>

样式非常标准:

   container: {
        flex: 1,
        justifyContent: 'center',
        alignItems: 'center',
    },
    inputContainer: {
        position: 'absolute',
        top: stackHeaderHeight + 10,
        height: height * .1,
        width: '100%',
        flexDirection: 'row',
        justifyContent: 'center',
        alignItems: 'center',
    },

1 个答案:

答案 0 :(得分:1)

您需要更改onPress的{​​{1}}代码

TouchableWithoutFeedback

示例工作代码。

<TouchableWithoutFeedback style={styles.container} onPress={()=> Keyboard.dismiss()}>

        </ TouchableWithoutFeedback>

我认为您的样式属性存在问题。请检查您的render() { return ( <TouchableWithoutFeedback onPress={()=>Keyboard.dismiss()} > <View style={{ flex: 1 }}> <TextInput returnKeyType="search" style={{borderWidth:1,borderColor:'grey',marginTop:100,height:50,marginHorizontal:50}}/> </View> </TouchableWithoutFeedback> ); } container样式属性。如果您的inputcontainer方法中有ScrollView,请添加以下内容

render