VUE前端按钮添加遮罩层

需求

当前需求是由于部分按钮操作的执行时间过长,因此添加遮罩层,防止用户误操作。

实现方式

在请求接口时创建遮罩层,并将遮罩层保存为全局唯一,请求成功或失败时,关闭遮罩层即可,切记,请求失败时一定要记得关闭。

公共方法

遮罩层的样式可自定义修改

// loading.js

import { Loading } from 'element-ui';

import store from '@/store/index.js';

/**

* 展示遮罩层

* @param {*} text 遮罩层显示的文本信息

*/

export const showLoading = (text) => {

// 先进行关闭

hideLoading()

// 创建遮罩层

let loadingInstance = Loading.service(

{

text : text,

lock: true,

spinner: 'el-icon-loading',

background: 'rgba(0, 0, 0, 0.7)'

}

);

// 定义全局

store.commit("SET_LOADING_INSTANCE", loadingInstance);

}

/**

* 隐藏遮罩层

*/

export const hideLoading = () => {

// 隐藏 loading 的逻辑

let loadingInstance = store.getters.loadingInstance

if (loadingInstance && loadingInstance != null) {

loadingInstance.close();

store.commit("SET_LOADING_INSTANCE", null);

}

}

调用方式

import {showLoading, hideLoading} from "@/util/loading";

// 在需要的地方去调用

// 弹出遮罩层

showLoading("loading")

发送请求.then(res =>{

this.$message({

type: "success",

message: res.data.msg

});

hideLoading()

// 刷新界面

this.handleRefresh()

})

相关推荐
紧跟先前的步伐9 小时前
Go AI Agent 实战 24|工具系统工程化收尾与阶段验收
人工智能·ai·golang·1024程序员节
吠品9 小时前
智谱开源 ZCode 之后,真正的考试才开始
单片机·嵌入式硬件·1024程序员节
日日大王学编程10 小时前
#Feed 流项目复盘:Redis 时间线缓存与 Outbox 消息可靠性设计
golang·1024程序员节
小嘉丶学长13 小时前
Day14 · 字典与集合
java·开发语言·网络·python·学习·1024程序员节
大江东去浪淘尽千古风流人物19 小时前
【FLORA】机器人视频标注引擎解析:三模型如何产出动作指令与四类奖励信号
matlab·机器人·跨模态·遥感·图像匹配·1024程序员节·特征描述符
【 STM32开发 】20 小时前
【CubeMX+STM32】SD卡 文件系统读写 FatFs+SDIO+DMA (F103版本)
stm32·单片机·嵌入式硬件·1024程序员节
牢姐与蒯1 天前
WSL2 迁移教程:把Ubuntu+WSL2从C盘挪到别的盘
linux·运维·服务器·网络·ubuntu·1024程序员节
1-1=01 天前
.NET Core 配置与选项
.net·.netcore·1024程序员节
搭贝1 天前
【无标题】
人工智能·低代码·ai·1024程序员节·搭贝
云和数据.ChenGuang1 天前
Python 重写(Override)深度解析:从 MRO 到 super() 的完整机制
java·开发语言·人工智能·python·langchain·1024程序员节