您的位置:首页 > 文旅 > 美景 > 四川省工程建设信息网_重庆知名企业_市场推广专员_网站查询站长工具

四川省工程建设信息网_重庆知名企业_市场推广专员_网站查询站长工具

2025/2/23 19:57:10 来源:https://blog.csdn.net/spurs611/article/details/143209156  浏览:    关键词:四川省工程建设信息网_重庆知名企业_市场推广专员_网站查询站长工具
四川省工程建设信息网_重庆知名企业_市场推广专员_网站查询站长工具

需求

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

实现方式

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

公共方法

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

// 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()

        })

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com