Vue 自定义ElementUI的Loading效果

javascript 复制代码
import {  loadingText, messageDuration } from "@/settings";

import { Loading } from "element-ui";
// loadingText、messageDuration 这两个参数我是调的公共配置文件,按自己需求来 
const install = (Vue, opts = {}) => {

  /* 全局多彩Loading加载层 */
  Vue.prototype.$baseColorfullLoading = (index, text, callback) => {
    let loading;
    if (!index) {
      loading = Loading.service({
        lock: true,  // 是否锁屏
        text: text || loadingText, // 加载动画的文字
        spinner: "dots-loader",  // 引入的loading图标
        background: "hsla(0,0%,100%,.8)", // 背景颜色
      });
    } else {
      switch (index) {
        case 1:
          index = "dots";
          break;
        case 2:
          index = "gauge";
          break;
        case 3:
          index = "inner-circles";
          break;
        case 4:
          index = "plus";
          break;
      }
      loading = Loading.service({
        lock: true,  // 是否锁屏
        text: text || loadingText, // 加载动画的文字
        spinner: index + "-loader", // 引入的loading图标
        background: "hsla(0,0%,100%,.8)", // 背景颜色
        target: document.querySelector('.app-main-container'),  // **需要遮罩的区域
        // (我这里是指要求遮盖组件,如果你想全屏遮盖住,可以不要这行代码)
      });
    }
    if (callback) {
      callback(loading);
    } else {
      setTimeout(() => {
        loading.close();
      }, messageDuration);
    }
  };

};

if (typeof window !== "undefined" && window.Vue) {
  install(window.Vue);
}

export default install;

调用

javascript 复制代码
  // index可以填写1-4,4种效果
  this.$baseColorfullLoading(3)
相关推荐
之歆20 分钟前
Composition API 深度解析 - 重新理解 Vue 的组件化编程
前端·javascript·vue.js
533_1 小时前
适用于vue3的拖拽插件:vue-draggable-plus, vuedraggable@next
javascript·vue.js
代码煮茶2 小时前
Vue3 插件开发实战 | 从 0 开发一个全局通知组件(Toast/Message)并发布到 npm
javascript·vue.js
品克缤3 小时前
Vue3 + Router 页面切换时滚动条闪烁问题记录
前端·javascript·css·vue.js
俺不会敲代码啊啊啊3 小时前
封装 ECharts Hook 适配多种图表容器
前端·vue.js·typescript·echarts
J2虾虾3 小时前
在Vue3中推荐使用的函数定义方法
前端·javascript·vue.js
不想说话的麋鹿3 小时前
「性能优化」《从10秒到100ms:大文件上传极致优化实战(切片/秒传/断点续传全方案)》
前端·vue.js·性能优化
江湖行骗老中医3 小时前
Vue 3 的父子组件传值主要遵循单向数据流的原则:父传子 和 子传父。
前端·javascript·vue.js
tryCbest3 小时前
Python之Flask开发框架(第五篇)- 使Flask + Vue 构建前后端分离项目教程
vue.js·python·flask
桔筐4 小时前
Axios 从入门到实战封装全解析(附异步/拦截器/生命周期)
vue.js