tav-ui
Version:
35 lines (32 loc) • 902 B
JavaScript
import { defineAsyncComponent, createVNode } from 'vue';
import { Spin } from 'ant-design-vue';
import { noop } from '../basic2.mjs';
function createAsyncComponent(loader, options = {}) {
const {
size = "small",
delay = 100,
timeout = 3e4,
loading = false,
retry = true
} = options;
return defineAsyncComponent({
loader,
loadingComponent: loading ? createVNode("div", {
"style": "height:100%;height:100%;display:flex;justify-content:center;align-items:center"
}, [createVNode(Spin, {
"spinning": true,
"size": size
}, null)]) : void 0,
timeout,
delay,
onError: !retry ? noop : (error, retry2, fail, attempts) => {
if (error.message.match(/fetch/) && attempts <= 3) {
retry2();
} else {
fail();
}
}
});
}
export { createAsyncComponent };
//# sourceMappingURL=createAsyncComponent2.mjs.map