showOverlay method

  1. @protected
  2. @mustCallSuper
void showOverlay()

overlayEntry 还存在时,可以调用此方法直接显示弹出层,通常有 2 种情况会调用它:

  1. 开启 keepAlive 保持弹窗状态
  2. 执行隐藏动画还未结束时又立即显示

Implementation

@protected
@mustCallSuper
void showOverlay() {
  assert(
    overlayEntry != null,
    'Overlay 还未插入,执行 showOverlay 方法前请执行 insertOverlay 方法!',
  );
  overlayState.overlayElement.showTarget(overlayId);

  // 若是手动调用此方法,还需要同步 modelValue 状态
  if (modelValue != true) {
    ignoreOnceListener = true;
    modelValue = true;
  }
}