我已经使用react-native-modal创建了一个模式,它显示了一个组件 A(在我的例子中是'Cart')(有多个子组件等等。)
此模式最多可打开一半屏幕,而应用程序的其他内容在其余部分的覆盖层后面可见。但是,我的要求是,在模式内点击按钮时,我希望将另一个屏幕 (B) 推到 A 上(仅在模式内,而不是在整个应用程序上)。
我怎样才能实现这个流程。由于当前被推送的新屏幕覆盖了整个屏幕,而不仅仅是模式。
class CartModal extends Component {
state = {
isVisible: false,
};
onCartDismiss = () => {
const { onCartDismiss } = this.props;
onCartDismiss();
};
render() {
const { navigation, isVisible, onCartDismiss } = this.props;
return (
<Modal
isVisible={isVisible}
onBackdropPress={onCartDismiss}
style={CartStyles.cartModal}
onSwipeComplete={this.onCartDismiss}
swipeDirection="down"
swipeThreshold={50}
propagateSwipe
>
<View
style={styles.container}
>
<Cart navigation={this.props.navigation} onCartDismiss={this.onCartDismiss} />
</View>
</Modal>
);
}
}