VUE Element-ui Message 消息提示组件自定义封装

为了让message 信息提示的更加方便快捷,减少不同地方的调用,避免代码的重复,特意再官方message 组件的基础上二次封装,使代码更加的优雅和高效。

实现效果:
代码组件:

封装成 message.js 文件,放在 utils 文件夹中,即可按需引用也可以再man.js全局引用。

复制代码
//引入官方组件

import { Message } from 'element-ui'

// 默认参数
const defaultOption = {
    duration: 3000,
    customClass: 'custom-notification',
}

const message = {}

const globalMessage = function (type, msg = '', customOption = {}) {
    return Message({
        ...Object.assign({}, defaultOption, customOption),
        type,
        dangerouslyUseHTMLString: true,
        message: `<p>${msg}</p>`,
    })
}

message.success = function (msg, cpt) {
    return globalMessage('success', msg, cpt)
}
message.error = function (msg, cpt) {
    return globalMessage('error', msg, cpt)
}
message.warning = function (msg, cpt) {
    return globalMessage('warning', msg, cpt)
}

export default message
使用:

1、常规的信息提示

复制代码
this.$message.success('这是一条不会自动关闭的成功消息' || res.data.msg)

this.$message.warning('这是一条不会自动关闭的警告消息' || res.data.msg)

this.$message.error('这是一条不会自动关闭的错误消息' || res.data.msg)

2、个性化传参

复制代码
      this.$message.error(res.data.msg || '这是一条测试的消息', {
          duration: 0, //显示时间, 毫秒。设为 0 则不会自动关闭
          showClose: true, //是否显示关闭按钮
          center: true, //文字是否居中
          customClass: 'custom-notification', //自定义类名
      })

结合官方文档,可自定义传参,满足多场景需求。

相关推荐
子兮曰4 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰4 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
前端小万4 天前
写公众号赚了 3000 块后,我做了一款叫 "一键成稿" 的软件
前端·微信小程序
爱勇宝4 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
A黄俊辉A4 天前
uniapp webview中实现 app和内嵌的H5双向通信
vue.js·json
三十而立洋4 天前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
大蓝头4 天前
安装包UI美化之路-nsNiuniuSkin全新UI调试与预览方法
ui·electron·安装包·截图控件·截屏控件
卡布鲁4 天前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
李少兄4 天前
JavaScript 隐式全局变量解析
javascript
honkun64 天前
vue 表格组件 vxe-table 配置 ajax 请求自动加载数据与表单查询
vue.js·vxe-table