UNPKG

vue-ele-plus

Version:

48 lines (47 loc) 1.28 kB
import { defineComponent, ref, onMounted, resolveComponent, openBlock, createElementBlock, createVNode, mergeProps, unref } from "vue"; const _sfc_main = /* @__PURE__ */ defineComponent({ props: { percentage: { type: Number, default: 0 }, isAnimation: { default: true, type: Boolean }, time: { default: 3e3, type: Number } }, setup(__props) { const props = __props; let p = ref(0); onMounted(() => { if (props.isAnimation) { let t = Math.ceil(props.time / props.percentage); let timer = setInterval(() => { p.value += 1; if (p.value >= props.percentage) { p.value = props.percentage; clearInterval(timer); } }, t); } else { p.value = props.percentage; } }); return (_ctx, _cache) => { const _component_el_progress = resolveComponent("el-progress"); return openBlock(), createElementBlock("div", null, [ createVNode(_component_el_progress, mergeProps({ percentage: unref(p) }, _ctx.$attrs, { isAnimation: "" }), null, 16, ["percentage"]) ]); }; } }); var index = { install(app) { app.component("m-progress", _sfc_main); } }; export { index as default };