1

我正在使用 React Native 中内置的 Modal(特别是我正在使用 React Native Paper 变体)。默认情况下,这似乎在屏幕中间打开。但是,如果您在 Modal 中进行一些文本输入,那么如果它在屏幕顶部打开或知道键盘会更有用。但是我找不到让它工作的方法。

我的(简化的)模态代码是:

     <Portal>
      <Modal visible={visibleModalNew} onDismiss={closeModalNew} contentContainerStyle={styles.modalContainer} >
        <View>
          <Title>New</Title>
          <View>
            <TextInput
              mode="outlined"
              label="Data"
              style={{alignSelf:'center', width:'95%'}}
              defaultValue={newData}
              onChangeText={newData=> setNewData(newData)}
              onSubmitEditing={() => handleDone()}
            />
            <Button onPress={() => doSomething()}>Do something</Button>
          </View>
        </View>
      </Modal>
    </Portal>
4

1 回答 1

1

啊,想了个办法。我将模态框包裹在 KeyboardAwareView 中,从模态框移除可见道具,然后将其全部包裹在条件渲染中,并将可见道具放在那里。似乎按预期工作。

于 2020-11-28T00:06:40.977 回答