首页 > 解决方案 > 键盘不会关闭?

问题描述

我有一个多行的笔记输入。目前,当我按下回车键时,它会转到下一行,当我点击不是键盘的屏幕部分时,什么也没有发生。所以它现在卡住了,我必须重新加载应用程序。我已经尝试过键盘关闭,但它仍然无法正常工作。这是一个子组件,所以也许这就是问题所在?

我的代码:

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>
    );
  }
}

标签: react-native

解决方案


你可以尝试类似的东西,

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>

希望能帮助到你。随时怀疑


推荐阅读