Element-plus Notification 自定义动态图标

需求

实现一个含有动态加载图标的通知,效果如下:

Element-plus Notification 自定义动态图标_第1张图片

分析

官方默认的仅有4种图标(Success、Warning、Info、Error):
Element-plus Notification 自定义动态图标_第2张图片
显然这并不能满足我们的需求。
官方的API中icon可帮助我们实现:
Element-plus Notification 自定义动态图标_第3张图片
但很重要的一点是,属性icon不能传入gif图片的路径,亲测无效,所以换一种思路,使用Component传入,然后在Component中放入img,其src使用我们gif图片的路径,这样就可以实现了。至于icon也可传入string情况下的string是什么,本人没测出来,有知道的大神可以在评论区交流!

实现

存放加载gif的Components:Loading.vue

<template>
    <img src="@/assets/loading/loading.gif" alt="">
template>

<script setup lang='ts'>
script>

<style lang='scss' scoped>
style>

使用的Components:

import LoadingIcon from '@/components/LoadingIcon.vue'

ElNotification({
    // @ts-ignore
    icon: LoadingIcon,
    message: 'Is the login',
    duration: 0,
})

效果

在这里插入图片描述
在这里插入图片描述

你可能感兴趣的:(Vue3.0,vue.js,前端,javascript,element-plus)