我正在使用react-native的Modal组件创建一个供用户选择的上拉菜单。这个问题是,如果你想调暗背景并用'幻灯片'制作动画,它就会在屏幕上滑动一个暗淡的盒子,而不是使整个背景变暗然后滑动视图。
所以我试图通过使用两个模态来解决这个问题。淡入淡出背景的一种模式和带有透明背景的菜单滑入的第二种模式。
这实际上有效,但当this.doneDayPicker
更改this.state.showModalDayPicker
的状态以使两个模态不再可见时,<DarkModal>
仍会显示。我永久地在屏幕上留下<DarkModal>
。
当<DarkModal>
发生变化时,我可以更改哪些内容让this.state.showModalDayPicker
消失?
return (
<DarkModal visible={this.state.showModalDayPicker}>
<GoalModalScreen
visible={this.state.showModalDayPicker}
done={this.doneDayPicker}
title='Health benefits'
height={this.state.goalModalHeight}
>
{this.flatList()}
</GoalModalScreen>
</DarkModal>
);
答案 0 :(得分:0)
最初我会说这是因为在DarkModal上没有像goalModalScreen那样的属性?
或使用三元运算符
{this.state.showModalDayPicker ? <DarkModal> : undefined}
你也可以在状态下设置DarkModal自己的切换。
{this.state.toggleDarkModal ? <DarkModal> : undefined}