环境

"ant-design-vue": "^1.6.3",
"vue": "^2.6.11",

需求

让 antd 的 Message 组件能够手动触发关闭

From

to


思路

查看 antdv 文档 发现 Message 组件支持使用 VNode 作为显示内容,因此只需要使用 Vue 的 createElement 方法创建带有关闭样式的 VNode 即可。

另外,在全局调用 Message 组件时会返回一个关闭当前 Message 的方法,在需要关闭 Message 时可调用此方法

let _remove = app.$message.error('This is an error message')
// 需要关闭 Message 时调用 _remove()
console.log(_remove)/**
ƒ result() {if (messageInstance) {messageInstance.removeNotice(target);}}
*/

实现

// 方法
const myMessageError = (content, duration, onClose) => {let _remove// 创建 VNodeconst h = app.$createElementlet innerText = h('span', { style: { color: '#000000A6' } }, content);let innerIcon = h('a-icon', {style: { marginRight: '0px', marginLeft: '20px', color: '#ccc', cursor: 'pointer' },attrs: { type: 'close' },on: { click: () => _remove() }})let container = h('span', {}, [innerText, innerIcon])// 调用 Message 组件_remove = app.$message.error({content: container,duration: duration || 0,onClose: onClose,})
}// 调用
myMessageError('This is an error message')

补充

  1. 上文仅为 Message 组件的简单运用,并未处理 duration、onClose 参数
  2. Message 组件还支持其他配置,文中并未体现,有兴趣请查阅文档
  3. antd 提供了 Notification 组件,该组件自带关闭功能,视使用场景可选用不同组件

参考

Vue官方文档 - createElement

antdv官方文档 - Message

Ant Design of Vue - 让 Message 组件支持手动点击关闭相关推荐

  1. 标题Ant Design of Vue 组件库中Modal“确认“按钮和“取消“按钮成英文状态

    标题Ant Design of Vue 组件库中Modal"确认"按钮和"取消"按钮成英文状态 因为是国际化的原因,造成确定按钮和取消按钮变成英文,需要设置 o ...

  2. 基于Ant Design of Vue实现时长组件 duration

    最近遇到一个需求,需要一个输入时长的组件,在经过一番寻找后没有合适的,最终自己动手写一个(实现了v-model双向绑定),记录一下,也给小伙伴们提供一个方便. 本示例基于ant design of v ...

  3. Vue.js高效前端开发 • 【Ant Design of Vue框架进阶】

    全部章节 >>>> 文章目录 一.栅格组件 1.栅格组件介绍 2.栅格组件使用 3.实践练习 二.输入组件 1.输入框组件使用 2.选择器组件使用 3.单选框组件使用 4.实践 ...

  4. Ant Design of Vue +TS 表单动态增加数据验证卧坑姿势

    文章目录 Update 20210601 Update 20210525 原文: 1.a-form的model 2.获取数据 源码 Update 20210601 今天做别的页面的时候发现又取不到数据 ...

  5. ant design of vue分页/layui实现分页

    ant design of vue分页 官方文档:https://www.antdv.com/components/pagination-cn/ 结果: 代码: <a-paginationv-i ...

  6. 使用Ant Design 和Vue,React中后台开发套餐

    2019独角兽企业重金招聘Python工程师标准>>> 前言 目前Ant Design 提供 React 和 Vue 两种整合开发框架,开箱即用的中台前端/设计解决方案,可适合中小公 ...

  7. 创建Vue+TS+Ant Design of Vue 项目

    创建Vue+TS+Ant Design of Vue 项目 创建项目 选择配置 运行项目 安装 ant-design-vue 安装 babel-plugin-import 使用VS Code打开 配置 ...

  8. ant design pro vue左侧菜单自定义图标

    做ant design pro vue项目的时候突然想修改左侧菜单的图标,在修改途中发现源码中提供的方法方法居然不生效(如下所示) 在src/assets/icons文件夹中下载svg图标 在src/ ...

  9. ant design pro vue 动态路由 流程详解

    ant design pro vue 动态路由 流程详解 前言 流程图 流程1 src/permission.js 流程2 src/store/modules/user.js 流程3 src/perm ...

最新文章

  1. python的执行过程_在交互式环境中执行Python程序过程详解
  2. 某程序员揭秘“开水团”大厂真实福利:工位拥挤,没有食堂!公司防员工跟防贼一样,特别是纸巾和插排都粘到桌子上!...
  3. Linux ALSA声卡驱动之六:ASoC架构中的Machine
  4. matlab 计算大型距离方阵,distance matrix
  5. JS 无法清除Cookie的解决方法
  6. printf函数源码linux,再来一版简易的printf函数实现
  7. osg学习笔记(一)
  8. mfc 消息消息队列概念_消息队列面试连环问
  9. IntelliJ IDEA 2018安装+激活+汉化(详细图解)
  10. IDEA多Module的Language Level的问题
  11. PHP第十次实验总结,The Clean Architecture in PHP 读书笔记(十)
  12. 腾达n3_腾达n3迷你路由参数
  13. 游戏框架(框架入门篇)
  14. 每月一书(202109):《文明、现代化价值投资与中国》
  15. 主从脉冲触发器和边沿触发器区别 一次翻转
  16. [树形dp]P3174 [HAOI2009]毛毛虫 题解
  17. 企业erp系统对企业预算和采购环节的作用
  18. BOC保护的氨基酸卟啉TAPP-Ala-BOC、TAPP-Phe-BOC、TAPP-Trp-BOC、Zn·TAPP-Ala-BOC、Zn·TAPP-Phe-BOC、Zn·TAPP-Trp-BOC齐岳
  19. 做微信小程序需要ICP证书吗
  20. 异步获取到图虫上的图片

热门文章

  1. php_excel表中_如何自动将多行中文转换成拼音,excel表格怎样设置批量将汉字变成拼音...
  2. 盒模型和开发中常用的布局
  3. result returns more than one elements 解决办法
  4. 如果楼市崩盘我们怎么活?(续集)
  5. VirtualBox调整分辨率
  6. python高手之路_python高手之路python处理ex
  7. 晨枫U盘维护工具V2.0版(转)
  8. 又爆作弊丑闻?AAAI 2023审稿人被作者找上门,才发现rebuttal阶段审稿人互相可见...
  9. 家园系统服务器,1月13日服务器更新 调整家园系统帮盟系统
  10. steemIT深度研究总结