返回
用自定义 .gif 动图替换ElementUI的全局loading图标
前端
2023-11-20 05:46:37
对于ElementUI的全局loading效果,大家肯定都是见过的,就是一个圆形的加载动图,或者说,是一个正在旋转的loading图标,想要自定义这个loading图标该怎么办呢?
ElementUI自定义全局loading图标
安装puer.js
这个东西相信前端程序员应该都是比较熟悉的,是一个对.gif进行控制的一个小库,非常轻量。
npm i puer.js --save
创建 .gif 动图
在项目文件夹下创建一个名为loading.gif的动图文件,然后上传到项目的静态资源文件夹中。
注册puer
import Vue from 'vue'
import puer from 'puer.js'
Vue.use(puer, {
// 全局loading配置项
loading: {
enterLoading: function (vm) {
// loading的加载效果配置项
vm.showLoading = true
vm.loadingBackground = 'rgba(0, 0, 0, 0.5)' // 背景颜色和透明度
vm.loadingText = '正在加载中...' // 文字提示
vm.loadingIcon = 'loading.gif' // 这里的loading.gif,就是刚才创建的动图文件
},
showLoading: function (vm) {
vm.showLoading = true
},
hideLoading: function (vm) {
vm.showLoading = false
}
}
})
创建一个vue文件 专门处理loading效果
<template>
<div>
<p-button @click="load">点我加载</p-button>
</div>
</template>
<script>
import { Loading } from 'element-ui'
export default {
methods: {
load() {
this.$showLoading()
setTimeout(() => {
this.$hideLoading()
}, 3000)
}
}
}
</script>
使用
<template>
<div>
<my-loading></my-loading>
</div>
</template>
<script>
import MyLoading from './loading.vue'
export default {
components: {
MyLoading
}
}
</script>
总结
以上就是自定义ElementUI的全局loading图标的方法,需要利用puer.js来处理.gif动图。