tav-ui
Version:
63 lines (58 loc) • 1.25 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var vue = require('vue');
var loading = require('./loading2.js');
function createLoading(props, target, wait = false) {
let vm = null;
const data = vue.reactive({
tip: "",
loading: true,
...props
});
const LoadingWrap = vue.defineComponent({
render() {
return vue.h(loading["default"], { ...data });
}
});
vm = vue.createVNode(LoadingWrap);
if (wait) {
setTimeout(() => {
vue.render(vm, document.createElement("div"));
}, 0);
} else {
vue.render(vm, document.createElement("div"));
}
function close() {
if (vm?.el && vm.el.parentNode) {
vm.el.parentNode.removeChild(vm.el);
}
}
function open(target2 = document.body) {
if (!vm || !vm.el) {
return;
}
target2.appendChild(vm.el);
}
if (target) {
open(target);
}
return {
vm,
close,
open,
setTip: (tip) => {
data.tip = tip;
},
setLoading: (loading) => {
data.loading = loading;
},
get loading() {
return data.loading;
},
get $el() {
return vm?.el;
}
};
}
exports.createLoading = createLoading;
//# sourceMappingURL=createLoading2.js.map