代码之家  ›  专栏  ›  技术社区  ›  Ruben

MDC web组件:MDC对话框有时无法正确关闭

  •  1
  • Ruben  · 技术社区  · 8 年前

    我使用MDC Web组件。我以编程方式打开和关闭对话框,但有时它不会关闭。我不知道关闭对话框的方式是否正确。

    closeDialog('dialog_gui');
    
    function closeDialog(elementId){
        let dialog = new mdc.dialog.MDCDialog(document.getElementById(elementId));
        dialog.close();
    }
    
    1 回复  |  直到 8 年前
        1
  •  1
  •   Rustem Gareev    8 年前

    每次关闭对话框时,您的函数都会创建MDCDialog的新实例。应将dialog实例存储在关闭函数之外:

    const dialog = new mdc.dialog.MDCDialog(document.getElementById('dialog_gui'));
    
    function closeDialog() {
      // some stuff
      dialog.close();
    }
    
    closeDialog();
    

    此外,只需使用MDCDialog,就可以关闭对话框而无需额外的功能 close() 方法:

    const dialog = new mdc.dialog.MDCDialog(document.getElementById('dialog_gui'));
    
    dialog.close();
    

    这里是 the Codepen example 其中对话框将打开,然后在3秒钟后关闭。

    推荐文章