ming-pro
Version:
> ming-pro组件库是对element-plus的二次封装,在使用更易用。库是依赖element-plus以及icon,使用前先安装element-plus及icon相关设置。
46 lines (45 loc) • 1.28 kB
JavaScript
import { defineComponent, ref, onMounted, resolveComponent, openBlock, createBlock, mergeProps, unref } from "vue";
const _sfc_main = /* @__PURE__ */ defineComponent({
props: {
percentage: {
type: Number,
default: 0
},
isAnimation: {
type: Boolean,
default: false
},
time: {
type: Number,
default: 300
}
},
setup(__props) {
const props = __props;
let percent = ref(0);
onMounted(() => {
if (props.isAnimation) {
let t = Math.ceil(props.time / props.percentage) + 1;
let timer = setInterval(() => {
percent.value += 1;
if (percent.value >= (props.percentage > 40 ? props.percentage + 5 : props.percentage)) {
percent.value = props.percentage;
clearInterval(timer);
}
}, t);
} else {
percent.value = props.percentage;
}
});
return (_ctx, _cache) => {
const _component_el_progress = resolveComponent("el-progress");
return openBlock(), createBlock(_component_el_progress, mergeProps({ percentage: unref(percent) }, _ctx.$attrs), null, 16, ["percentage"]);
};
}
});
var index = {
install(app) {
app.component("m-progress", _sfc_main);
}
};
export { index as default };