解决element-message弹出多次的问题

目的

message弹出多次,用户体验不好

重写resetMessage.js

在/utils/文件夹新建resetMessage.js

/**重置message,防止重复点击重复弹出message弹框 */
import {
    Message
} from 'element-ui';
let messageInstance = null;
const resetMessage = (options) => {
    if (messageInstance) {
        messageInstance.close()
    }
    messageInstance = Message(options)
};
['error', 'success', 'info', 'warning'].forEach(type => {
    resetMessage[type] = options => {
        if (typeof options === 'string') {
            options = {
                message: options
            }
        }
        options.type = type
        return resetMessage(options)
    }
})
export const message = resetMessage

main.js引入

import Element from 'element-ui'
import {message} from '@/utils/resetMessage';
Vue.use(Element, {
  size: Cookies.get('size') || 'medium' // set element-ui default size
})
// Vue.use(ElementUI)
Vue.prototype.$message = message;

使用方法

// 在vue组件中调用,跟正常用法一样
this.$message({type:success,message:'提示内容'})
// 在js文件中调用
import { message } from '@/utils/resetMessage'
message({type: 'error',message: '提示内容'})
element-plus 是一款基于 Vue.js 的 UI 组件库,提供了丰富的组件和功能来帮助我们快速搭建前端界面。要弹出详情页,我们可以使用 element-plus 提供的 Dialog 组件。 首先,我们需要在项目中引入 element-plus,并按照官方文档的说明进行配置和安装。然后,我们可以在需要弹出详情页的地方使用 Dialog 组件。 Dialog 组件有多种使用方式,最常见的是使用它的 API 方法来打开或关闭弹窗。我们可以通过调用 `this.$dialog.xxx` 的方式来使用 Dialog 组件的方法。 要弹出详情页,我们可以使用 Dialog 的 `open` 方法。首先,需要在页面上设置一个按钮或者其他元素,当用户点击时触发弹窗的打开。例如: ``` <el-button @click="openDetailPage">打开详情页</el-button> ``` 然后,在对应的 Vue 组件中,定义 `openDetailPage` 方法来调用 Dialog 的 `open` 方法打开弹窗。例如: ``` methods: { openDetailPage() { this.$dialog.open({ title: '详情页', message: '这是一个详情页的内容', // 其他配置项... }); } } ``` 在以上代码中,我们通过 `this.$dialog.open` 方法来打开弹窗,通过传递一个对象作为参数来配置弹窗的标题、内容和其他的可选项。 通过以上的操作,我们就可以使用 element-plus 的 Dialog 组件来实现弹出详情页的效果了。当用户点击按钮时,会弹出一个包含指定内容的弹窗,并可以根据需要进行配置和定制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值