关于element message手动关闭的问题

element message组件手动无法关闭。

方法
调用 Message 或 this.$message 会返回当前 Message 的实例。如果需要手动关闭实例,可以调用它的
close 方法。

方法名
close 关闭当前的 Message

this.$message({
  message: '警告哦,这是一条警告消息',
  duration: 0,
  showClose: true,
  type: 'warning'
})

我使用this.$message().close()或者this.$message.close()都无法关闭这个提示框,求各位大佬解答~


我在mounted里面用的

mounted () {
    this.$message({
      message: '警告哦,这是一条警告消息',
      duration: 0,
      showClose: true,
      type: 'warning'
    })
    // this.$message().close()
    this.$message.close()
}

这个弹出框还是不能关闭.

阅读 15.9k
3 个回答

clipboard.png
写的很清楚啊。你调一次给你一个实例啊
不信可以试试啊

console.log(this.$message()===this.$message());// false

所以问题也很简单啊。

const m = this.$message({
  message: '警告哦,这是一条警告消息',
  duration: 0,
  showClose: true,
  type: 'warning'
});
// 等你需要的时候关了它
setTimeout(()=>m.close(),1000)

又或者你不想持有实例引用 而且当前页面只有一个实例 不怕误操作的话 直接用静态方法closeAll啊

this.$message.closeAll()
this.$message.close()

this.$message.close() 应该是这样的吧

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