ant design vue notification
通知提醒框
/** * * @param {error,success,warning,warn,info,open} type * @param {消息頭} message * @param {消息内容} description * @param {超時時間,默認4.5S,單位:秒} duration */ let openNotification = (type, message, description, duration = 80) => { // const key = `open${Date.now()}`; notification[type]({ duration: duration, message: message, description: (h) => { return h('p', { domProps: { innerHTML: description }, }) }, // onClose: close, // btn: h => { // return h( // 'a-button', // { // props: { // type: 'primary', // size: 'small', // }, // on: { // click: () => notification.close(key), // }, // }, // 'Confirm', // ); // }, // key, }); }
// 展示最新的一条推送消息
showSingleMessage () {
const h = this.$createElement
const that = this
if (!this.noPushMessageList || this.noPushMessageList.length <= 0) {
return
}
const item = that.noPushMessageList[0] || {}
this.$notification.open({
key: this.messagekey,
message: `您有${that.noPushMessageList.length}条新消息`,
duration: 0,
placement: 'bottomRight',
description: h('div', null, [
h('p', null, [h('span', null, `${item.messageTitle},`)]),
h('p', null, [
h('span', null, `${item.messageContent},`),
h(
'a',
{
on: {
click: () => {
that.toProjectByItem(item, 1)
}
}
},
'点击查看'
)
]),
h('p', null, [
h('span', null, '客户名称 '),
h(
'span',
{
on: {}
},
item.customerName
)
]),
h('p', null, [h('span', null, item.releaseTime)])
]),
btn: h => {
return h(
'a-button',
{
props: {
type: 'primary',
size: 'small'
},
on: {
click: async () => {
that.$notification.close(this.messagekey)
const index = this.getArrayIndex(this.noPushMessageList, item)
this.noPushMessageList.splice(index, 1) // 删除当前一条
that.showSingleMessage()
}
}
},
'下一条'
)
},
// 关闭所有未推送消息弹窗
onClose: () => {
this.$notification.close(this.messagekey)
this.noPushMessageList = []
}
})
},
彪悍的人生不需要解释,彪悍的代码不需要注释。

浙公网安备 33010602011771号