@opensig/opendesign
Version:
37 lines (36 loc) • 1.11 kB
JavaScript
import { ref, onMounted, nextTick, onUnmounted } from "vue";
import { isArray, isNumber } from "../../_utils/is.mjs";
const useLifecycle = (props, initData, resetSize) => {
const slider = ref();
onMounted(async () => {
if (props.range) {
if (isArray(props.modelValue)) {
initData.firstBtnVal = Math.max(props.min, props.modelValue[0]);
initData.secondBtnVal = Math.min(props.max, props.modelValue[1]);
} else {
initData.firstBtnVal = props.min;
initData.secondBtnVal = props.max;
}
initData.oldValue = [initData.firstBtnVal, initData.secondBtnVal];
} else {
if (!isNumber(props.modelValue)) {
initData.firstBtnVal = props.min;
} else {
initData.firstBtnVal = Math.min(props.max, Math.max(props.min, props.modelValue));
}
initData.oldValue = initData.firstBtnVal;
}
window.addEventListener("resize", resetSize);
await nextTick();
resetSize();
});
onUnmounted(() => {
window.removeEventListener("resize", resetSize);
});
return {
slider
};
};
export {
useLifecycle
};