vue element plus 消息弹窗一次只弹出一次
效果图:
解决方案
当我们只需要消息只出现一次 的时候, 我找了 半天发现网上有几种方案:
- 根据dom去限制的
- 封装message 消息组件控制
但是这些在原则上都需要去增加额外的一个控制方式, 后面我根据文档查询 发现element 本身就有这种控制。 我原来的方案是:
- 继承和重写MessageFn,后面发现行不通 , 因为我水平问题 , 我是半吊子前端, 因为 我是干后端的
- 后面发现官方原本就有配置
- 防抖 , 因为需要改动原有的提示, 所以就把防抖解决方案给否定了
官方配置方式有两种
- 一种是app.use的时候传入参数
- 一种是利用el-config-provider组件来进行配置
app.use
app.use(ElementPlus, {size: 'small', zIndex: 3000, locale: zhCn, message:{max:1}})
el-config-provider
<el-config-provider :message="{max: 1,}">
<router-view></router-view>
</el-config-provider>
后面发现app.use 这种没有效果 不知道 为啥 ,所以我就采用了 第二种 config配置组件 。