键盘不会关闭?

时间:2019-12-08 19:32:50

标签: react-native

我有一个多行注释输入。目前,当我按回车键时,它会转到下一行,而当我点击屏幕上不是键盘的部分时,则不会发生任何事情。因此,它现在只是卡住了,我必须重新加载该应用程序。我曾尝试关闭键盘,但仍然无法正常工作。这是一个子组件,也许是问题所在?

我的代码:

render() {
    return (
      <TouchableWithoutFeedback onPress={Keyboard.dismiss()}> //also tried () => Keyboard.dismiss()
        <Modal transparent animationType='fade' visible={this.props.createHomeworkModalVisible}>
          <View style={styles.containerStyle}>
            <View style={styles.modalContainer}>
              <Formik
                initialValues={{
                  assignmentName: '',
                  dueDate: null,
                  notes: '',
                  pictures: []
                }}
                validationSchema={validationSchema}
                onSubmit={(values) => {
                  console.log(values);
                }}
              >
                {formikProps => (
                  <View>
                      <View style={{ padding: 5 }}>
                        <TextInput
                          placeholder={'Add notes'}
                          placeholderTextColor='#cdd2c9'
                          value={formikProps.values.notes}
                          multiline
                          style={styles.notesInput}
                          onChangeText={formikProps.handleChange('notes')}
                          onBlur={formikProps.handleBlur('notes')}
                        />
                      </View>
                  </View>
                )}
              </Formik>
            </View>
          </View>
        </Modal>
      </TouchableWithoutFeedback>
    );
  }
}

2 个答案:

答案 0 :(得分:1)

您可以尝试类似的操作

import {Keyboard} from 'react-native'

<TouchableWithoutFeedback onPress={Keyboard.dismiss} accessible={false}>
    <View>
                      <View style={{ padding: 5 }}>
                        <TextInput
                          placeholder={'Add notes'}
                          placeholderTextColor='#cdd2c9'
                          value={formikProps.values.notes}
                          multiline
                          style={styles.notesInput}
                          onChangeText={formikProps.handleChange('notes')}
                          onBlur={formikProps.handleBlur('notes')}
                        />
                      </View>
                  </View>
</TouchableWithoutFeedback>

希望有帮助。毫无疑问

答案 1 :(得分:0)

从'react-native'导入Keyboard

调用此函数:Keyboard.dismiss()