模态前面的模态反应原生,而不是拾取状态

时间:2017-12-26 16:37:49

标签: react-native

我正在使用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>
    );

1 个答案:

答案 0 :(得分:0)

最初我会说这是因为在DarkModal上没有像goalModalScreen那样的属性?

或使用三元运算符

{this.state.showModalDayPicker ? <DarkModal> : undefined}

你也可以在状态下设置DarkModal自己的切换。

{this.state.toggleDarkModal ? <DarkModal> : undefined}