vue-hooks-d
Version:
A collection of useful Vue 3 hooks.
39 lines (37 loc) • 890 B
JavaScript
// src/useBoolean/index.ts
import { ref } from "vue";
function useBoolean(initialValue = false) {
const state = ref(initialValue);
const setTrue = () => {
state.value = true;
};
const setFalse = () => {
state.value = false;
};
const toggle = () => {
state.value = !state.value;
};
return {
state,
// 当前布尔状态
setTrue,
// 显示设置为 true
setFalse,
// 显示设置为 false
toggle
// 状态切换
};
}
// src/useWindowSize/index.ts
import { ref as ref2, onMounted, onUnmounted } from "vue";
function useWindowSize() {
const width = ref2(window.innerWidth);
const onResize = () => width.value = window.innerWidth;
onMounted(() => window.addEventListener("resize", onResize));
onUnmounted(() => window.removeEventListener("resize", onResize));
return { width };
}
export {
useBoolean,
useWindowSize
};