index.js 664 B

12345678910111213141516171819202122232425262728293031
  1. import Vue from "vue";
  2. import ProgressModal from "./index.vue";
  3. // 创建弹窗的构造函数
  4. const ProgressModalConstructor = Vue.extend(ProgressModal);
  5. // 实例化弹窗
  6. let modalInstance = null;
  7. /**
  8. * 打开弹窗
  9. * @param {Object} options - 弹窗配置
  10. */
  11. export function showModal(options = {}) {
  12. // 创建实例
  13. modalInstance = new ProgressModalConstructor({
  14. propsData: {
  15. fileName: options.fileName || ""
  16. },
  17. });
  18. // 手动挂载到 DOM
  19. modalInstance.$mount();
  20. document.body.appendChild(modalInstance.$el);
  21. // 显示弹窗
  22. modalInstance.show();
  23. // 返回实例,以便外部手动关闭
  24. return modalInstance;
  25. }