# 弹窗一直显示在最上层，无法关闭

#### 问题现象

弹窗始终显示在最上层，无法关闭，遮挡页面其他内容。

#### 背景知识

*   自定义弹窗CustomDialog使用弹窗组件时，优先考虑自定义弹窗，便于弹窗样式与内容的自定义。
*   CustomDialogControllerOptions对象说明中的autoCancel：是否允许点击遮障层退出。true表示关闭弹窗，false表示不关闭弹窗。
*   DismissDialogAction：Dialog关闭回调函数。开发者需要退出时调用，不需要退出时无需调用。

#### 问题定位

1.  排查弹窗组件上是否配置了autoCancel的值为true。
    
    ```
    dialogController: CustomDialogController | null = new CustomDialogController({
      builder: CustomDialogExample({
      // ...
      }),
      cancel: this.exitApp,
      // 不允许点击遮障层退出
      autoCancel: false,
      // ...
    })
    ```
    
2.  如果autoCancel的值为true，继续排查DismissDialogAction调用的场景是否正确。

#### 分析结论

1.  autoCancel的值设置为false，导致弹窗始终显示在最上层，无法关闭。
2.  DismissDialogAction调用的场景不正确，在需要关闭弹窗时未调用，导致弹窗始终显示在最上层，无法关闭。

#### 修改建议

1.  将autoCancel的值设置为true。
2.  在需要关闭弹窗的场景调用DismissDialogAction。具体示例请参考：弹出嵌套弹窗。