请问iview Modal如何关闭当前?

代码
 this.$Modal.success({
        onOk: () => {
        },
        render: (h) => {
          return h('div',[
              h('Button', {
                on: {
                  click: () => {
                    // 我想在这里关闭当前的 Modal
                  }
                },
              }, '按钮'),
            ])
        }
      })

我想在 render 渲染的按钮的 click 事件下关闭当前的 Modal 请问应该怎么写呀?

阅读 7.1k
4 个回答
this.$Modal.success({
        onOk: () => {
        },
        render: (h) => {
          return h('div',[
              h('Button', {
                on: {
                  click: () => {
                      this.$Modal.remove()   //这句
                  }
                },
              }, '按钮'),
            ])
        }
      })
this.$Modal.success({
        title:'ahahhah',
        onOk: () => {
          
        },
        render: (h) => {
          return h('div',{
            attrs: {
                class:'modal1'  //modal1可以是动态的
            },
            },[
              h('Button', {
                on: {
                  click: () => {
                    let currModal = this.$el.parentNode.getElementsByClassName('modal1')[0]
                    currModal.offsetParent.offsetParent.offsetParent.offsetParent.parentElement.innerHTML=''  //移除mask DOM
                    currModal.offsetParent.offsetParent.offsetParent.offsetParent.innerHTML=''  //移除 ivu-modal DOM
                  }
                },
              }, '按钮'),
            ])
        }
      })
  只是这种方法比较粗暴 q(≧▽≦q),其他除了修改modal组件的原型之外(比较麻烦)暂时还没有想到其他方法。

通过调用实例方法创建的对话框, remove()方法是全局关闭,不支持传参指定关闭谁,如果需要多个弹窗,指定关闭弹窗,目前版本只能用基础用法:写成模板里面嵌套,通过变量控制关闭指定对话框

clipboard.png
目前只有这一种方法

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题