在Vue中使用element ui,进入页面时message或messageBox自动触发的问题

当进入页面时,会出现 message 消息提示或 messageBox 弹窗自动触发的问题,如图所示:
在这里插入图片描述
原因:
我使用的 element ui 是按需导入的。当我导入了 Message 和 MessageBox 之后,我就 vue.use了它们。
但是这两个特殊的组件是不用 vue.use 的,如果vue.use了会导致进入页面时,会出现message 消息提示或 messageBox 弹窗自动触发的问题。
原本的element.js:

import Vue from 'vue'
import {
    Button,
    Form,
    FormItem,
    Message,
    MessageBox
} from 'element-ui'

Vue.use(Button)
Vue.use(Form)
Vue.use(FormItem)
Vue.use(Message)
Vue.use(MessageBox)

解决办法:
我们可以将原 element.js 中的 Vue.use(Message) 和 Vue.use(MessageBox) 去掉,将 Mesage 和 MessageBox 挂载到 vue 原型对象上。
改后的 element.js:

import Vue from 'vue'
import {
    Button,
    Form,
    FormItem,
    Message,
    MessageBox
} from 'element-ui'

Vue.use(Button)
Vue.use(Form)
Vue.use(FormItem)

// 将Mesage挂载到vue原型对象上
Vue.prototype.$message = Message

// 将MessageBox挂载到vue原型对象上
Vue.prototype.$confirm = MessageBox.confirm

问题解决。

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值