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,
    });
}
复制代码

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
// 展示最新的一条推送消息
  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 = []
      }
    })
  },

  

posted @   彪悍的代码不需要注释  阅读(1331)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
39
0
点击右上角即可分享
微信分享提示