【问题标题】:How to dispose(destroy) bootstrap 5 modal如何处理(销毁)引导程序 5 模态
【发布时间】:2020-12-29 23:40:29
【问题描述】:

我在一个项目中使用 bootstrap 5。我正在构建一个在您单击按钮时打开的测验。测验显示在 bootstrap 5 模态组件中。

我的问题是,当您单击模式的关闭按钮然后重新启动它时,上一轮测验的数据仍然存在(仍然选中单选按钮)。我希望关闭按钮破坏模式并处理所有以前的数据。我已经尝试了几种方法(分别),如下所述:

myModal.dispose()
myModal.modal("dispose")
bootstrap.Modal.dispose();
bootstrap.Modal(bootstrap.modal.getInstance(quiz-modal)).dispose

Bootstrap 5 有一个名为 Modal 的类,其中有一个 dispose 方法,但我无法使用它。

模态的名称是myModal,它是一个bootstrap 5 模态。 quiz-modal 是对显示为模态的 html 元素的引用。

【问题讨论】:

  • 我忘了说,我使用的是 bootstrap 5 CDN,我需要在 javascript 文件中包含任何导入语句吗?

标签: javascript modal-dialog bootstrap-modal


【解决方案1】:

我找到了一个似乎可行的解决方案。

quizClose.addEventListener("click", () => {
  //reset the forms containing quiz questions
  for (let i = 0; i < totalQuestions.length; i++) {
    totalQuestions[i].reset();
  }
  let myModal = bootstrap.Modal.getInstance(
    document.querySelector(".quiz-modal")
  );
  //remove static backdrop
  myModal.setAttribute("data-bs-backdrop", "false");
  //destroy modal
  myModal.dispose();
});

【讨论】:

  • 这(仅)清除模态表单值。如果这是您想要的,它实际上并没有从 DOM 中清除模式。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-23
  • 2015-06-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多