首页 文章

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

提问于
浏览
0

我正在使用react-native的Modal组件来创建一个供用户选择的上拉菜单 . 这个问题是,如果你想调暗背景并用'幻灯片'制作动画,它就会在屏幕上滑动一个暗淡的盒子,而不是使整个背景变暗然后滑动视图 .

所以我试图通过使用两个模态来解决这个问题 . 淡入淡出背景的一种模式和带有透明背景的菜单滑入的第二种模式 .

这实际上有效,但当 this.doneDayPicker 更改 this.state.showModalDayPicker 的状态,因此两个模态不再可见时,仍然会出现 <DarkModal> . 我在屏幕上永久地留下 <DarkModal> .

this.state.showModalDayPicker 改变时,我可以改变什么让 <DarkModal> 消失?

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

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

    或使用三元运算符

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

    您也可以在状态下设置DarkModal自己的切换 .

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

相关问题