【问题标题】:MDC web components: mdc-dialog doesn't close properly sometimesMDC Web 组件:mdc-dialog 有时无法正确关闭
【发布时间】:2018-07-05 21:00:58
【问题描述】:

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

closeDialog('dialog_gui');

function closeDialog(elementId){
    let dialog = new mdc.dialog.MDCDialog(document.getElementById(elementId));
    dialog.close();
}

【问题讨论】:

    标签: javascript web material-design material-components material-components-web


    【解决方案1】:

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

    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 秒后关闭。

    【讨论】:

      猜你喜欢
      • 2019-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-07
      • 1970-01-01
      • 2018-05-07
      • 1970-01-01
      • 2019-09-04
      相关资源
      最近更新 更多