需求:
进入系统弹出提示,点击提示框超链接跳转页面关闭提示框。
实现代码:
infotxt() {
this.$Notice.info({
title: '您有待接收的任务~',
key: 'model',
duration: 0,
render: h => {
return h('a', {
attrs: {
href: 'www.baidu.com'
},
on: {
click: () => {
this.$Notice.close('model');
}
}
}, '前往查看')
}
});
},
原来我是这么写的,但是弹窗的关闭方法不生效,我看官方文档是这么写的如下图:
文档说的是通过传入唯一标识key来执行销毁通知方法的,但是却取不到key,我就打印了下$Notice然后看到里面根本就没有key这个属性,到是有一个name属性,而且打开组件的close方法的实现,可以看到是基于name作为传入参数实现的。如下图:
然后我把代码中key改为name就可以了:
infotxt() {
this.$Notice.info({
title: '您有待接收的任务~',
name: 'model',//key改为name
duration: 0,
render: h => {
return h('a', {
attrs: {
href: 'www.baidu.com'
},
on: {
click: () => {
this.$Notice.close('model');
}
}
}, '前往查看')
}
});
},
不知道是不是写错了还是什么原因,搞不懂文档为什么写的用key属性,然后我看了下另一个文档,另一个没错,说的是用name。下面是两个文档链接:
属性为key的:(错的)
https://iview.github.io/docs/guide/install
属性为name的:(对的)
https://www.iviewui.com/components/notice