html增加全局遮罩,vant增加全局遮罩层

vant默认提供的加载遮罩太水了,也可能是我太水了不会用,所以找大神写了一个,我抄过来了

增加遮罩控件

在任意位置增加如下两个文件,注意loadingIndex.js引用loading.vue时路径要修改成你的:

模板文件:loading.vue

:show="isShow"

:custom-style="{

background: 'rgb(255, 255, 255, 0.6)',

display: 'flex',

justifyContent: 'center',

paddingTop: '100px'

}"

>

{{ title || '加载中···' }}

js文件:loadingIndex.js

import vue from 'vue'

import loadingComponent from './loading.vue'

const LoadingConstructor = vue.extend(loadingComponent)

let toastDom, el;

function showLoading({ title, type, duration = 2000 }) {

if (!el && !toastDom) {

el = document.createElement('div');

toastDom = new LoadingConstructor({

el,

data() {

return {

isShow: true, // 是否显示

title // 文本内容

};

}

});

// 添加节点

document.body.appendChild(toastDom.$el);

} else {

toastDom.isShow = true;

}

}

function cancelLoading() {

if (toastDom) {

toastDom.isShow = false;

}

}

// 全局注册

function registryToast() {

vue.prototype.$showLoading = showLoading;

vue.prototype.$cancelLoading = cancelLoading;

}

export default registryToast;

在vue中引用控件

在你引用vue的地方增加如下代码,注意路径改为你的路径

import Vue from "vue";

import loadingIndex from "./loading/loadingIndex";

Vue.use(loadingIndex);

使用遮罩

然后你就可以像下面一样使用遮罩了:

showloading() {

var title = "加载中···";

this.$showLoading({

title: title

});

}

hideloading() {

this.$cancelLoading();

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值