Ant Design of Vue - 让 Message 组件支持手动点击关闭
环境
"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')
补充
- 上文仅为 Message 组件的简单运用,并未处理 duration、onClose 参数
- Message 组件还支持其他配置,文中并未体现,有兴趣请查阅文档
- antd 提供了 Notification 组件,该组件自带关闭功能,视使用场景可选用不同组件
参考
Vue官方文档 - createElement
antdv官方文档 - Message
Ant Design of Vue - 让 Message 组件支持手动点击关闭相关推荐
- 标题Ant Design of Vue 组件库中Modal“确认“按钮和“取消“按钮成英文状态
标题Ant Design of Vue 组件库中Modal"确认"按钮和"取消"按钮成英文状态 因为是国际化的原因,造成确定按钮和取消按钮变成英文,需要设置 o ...
- 基于Ant Design of Vue实现时长组件 duration
最近遇到一个需求,需要一个输入时长的组件,在经过一番寻找后没有合适的,最终自己动手写一个(实现了v-model双向绑定),记录一下,也给小伙伴们提供一个方便. 本示例基于ant design of v ...
- Vue.js高效前端开发 • 【Ant Design of Vue框架进阶】
全部章节 >>>> 文章目录 一.栅格组件 1.栅格组件介绍 2.栅格组件使用 3.实践练习 二.输入组件 1.输入框组件使用 2.选择器组件使用 3.单选框组件使用 4.实践 ...
- Ant Design of Vue +TS 表单动态增加数据验证卧坑姿势
文章目录 Update 20210601 Update 20210525 原文: 1.a-form的model 2.获取数据 源码 Update 20210601 今天做别的页面的时候发现又取不到数据 ...
- ant design of vue分页/layui实现分页
ant design of vue分页 官方文档:https://www.antdv.com/components/pagination-cn/ 结果: 代码: <a-paginationv-i ...
- 使用Ant Design 和Vue,React中后台开发套餐
2019独角兽企业重金招聘Python工程师标准>>> 前言 目前Ant Design 提供 React 和 Vue 两种整合开发框架,开箱即用的中台前端/设计解决方案,可适合中小公 ...
- 创建Vue+TS+Ant Design of Vue 项目
创建Vue+TS+Ant Design of Vue 项目 创建项目 选择配置 运行项目 安装 ant-design-vue 安装 babel-plugin-import 使用VS Code打开 配置 ...
- ant design pro vue左侧菜单自定义图标
做ant design pro vue项目的时候突然想修改左侧菜单的图标,在修改途中发现源码中提供的方法方法居然不生效(如下所示) 在src/assets/icons文件夹中下载svg图标 在src/ ...
- ant design pro vue 动态路由 流程详解
ant design pro vue 动态路由 流程详解 前言 流程图 流程1 src/permission.js 流程2 src/store/modules/user.js 流程3 src/perm ...
最新文章
- python的执行过程_在交互式环境中执行Python程序过程详解
- 某程序员揭秘“开水团”大厂真实福利:工位拥挤,没有食堂!公司防员工跟防贼一样,特别是纸巾和插排都粘到桌子上!...
- Linux ALSA声卡驱动之六:ASoC架构中的Machine
- matlab 计算大型距离方阵,distance matrix
- JS 无法清除Cookie的解决方法
- printf函数源码linux,再来一版简易的printf函数实现
- osg学习笔记(一)
- mfc 消息消息队列概念_消息队列面试连环问
- IntelliJ IDEA 2018安装+激活+汉化(详细图解)
- IDEA多Module的Language Level的问题
- PHP第十次实验总结,The Clean Architecture in PHP 读书笔记(十)
- 腾达n3_腾达n3迷你路由参数
- 游戏框架(框架入门篇)
- 每月一书(202109):《文明、现代化价值投资与中国》
- 主从脉冲触发器和边沿触发器区别 一次翻转
- [树形dp]P3174 [HAOI2009]毛毛虫 题解
- 企业erp系统对企业预算和采购环节的作用
- BOC保护的氨基酸卟啉TAPP-Ala-BOC、TAPP-Phe-BOC、TAPP-Trp-BOC、Zn·TAPP-Ala-BOC、Zn·TAPP-Phe-BOC、Zn·TAPP-Trp-BOC齐岳
- 做微信小程序需要ICP证书吗
- 异步获取到图虫上的图片
热门文章
- php_excel表中_如何自动将多行中文转换成拼音,excel表格怎样设置批量将汉字变成拼音...
- 盒模型和开发中常用的布局
- result returns more than one elements 解决办法
- 如果楼市崩盘我们怎么活?(续集)
- VirtualBox调整分辨率
- python高手之路_python高手之路python处理ex
- 晨枫U盘维护工具V2.0版(转)
- 又爆作弊丑闻?AAAI 2023审稿人被作者找上门,才发现rebuttal阶段审稿人互相可见...
- 家园系统服务器,1月13日服务器更新 调整家园系统帮盟系统
- steemIT深度研究总结