首页 > 解决方案 > React Native:如何让 Modal 和 KeyboardAvoidingView 动画更快?

问题描述

我有一个 React-native 的KeyboardAvoidingView包装输入:

<Modal
  visible={this.props.showModal}
  animationType='slide'
  presentationStyle='pageSheet'
>
  <KeyboardAvoidingView
    behavior={Platform.OS === 'ios' ? 'padding' : 'height'}
    keyboardVerticalOffset={Platform.OS === 'ios' ? 56 : 32}
  >
    <SearchResultsList />
    <Divider />
    <View style={styles.headerWrapper}>
      <TextInput
        blurOnSubmit={false}
        autoFocus
        style={styles.textInput}
        value={this.state.searchPhrase}
        onChangeText={text => this.onChangeText(text)}
      />
      <IconButton icon='close' onPress={() => this.onChangeText('')} />
    </View>
  </KeyboardAvoidingView>
</Modal>

这段代码的问题是动画需要很长时间。首先,模态出现,然后是键盘,然后(!!!)输入动画。有没有办法让键盘和输入与模态同时显示?或者,至少,有没有办法让输入随着键盘向上移动,而不是在键盘之后?

标签: react-native

解决方案


推荐阅读