tian-yan-yan
Version:
一套不算好用的组件
50 lines (40 loc) • 1.05 kB
JavaScript
import tyLoading from './index.vue'
import Vue from "vue";
/*tyLoading.install = Vue => Vue.component(tyLoading.name, tyLoading)
export default tyLoading*/
// 手动挂载加载框
const toastCom = Vue.extend(tyLoading)
let toastNew
// 挂载加载框
const tyLoadingDom = (msg) => {
toastNew = new toastCom({
el: document.createElement('div')
});
toastNew.msg = msg || msg === 0 ? msg : '加载中...'
toastNew.loading++
document.body.appendChild(toastNew.$el)
return toastNew
}
/**
* 打开加载框
* @param {String} msg 加载文字,默认“加载中...”
* */
export const tyShowLoading = (msg='加载中...') => {
if (toastNew){
toastNew.loading++
toastNew.msg = msg
return toastNew
}
return tyLoadingDom(msg)
}
// 关闭加载框
export const tyCloseLoading = () => {
try{
if (toastNew){
toastNew.loading--
if (toastNew.loading <=0) toastNew.loading = 0
}
}catch (err){
console.error('关闭加载框出错', err)
}
}