2021-09-20 02:48:53 +08:00
|
|
|
import { ref } from 'vue';
|
|
|
|
|
2022-07-30 22:16:42 +08:00
|
|
|
/**
|
2023-12-14 21:45:29 +08:00
|
|
|
* Boolean
|
|
|
|
*
|
|
|
|
* @param initValue Init value
|
2022-07-30 22:16:42 +08:00
|
|
|
*/
|
2022-03-12 16:21:40 +08:00
|
|
|
export default function useBoolean(initValue = false) {
|
2021-09-20 02:48:53 +08:00
|
|
|
const bool = ref(initValue);
|
|
|
|
|
2021-11-22 00:14:12 +08:00
|
|
|
function setBool(value: boolean) {
|
|
|
|
bool.value = value;
|
|
|
|
}
|
2021-09-20 02:48:53 +08:00
|
|
|
function setTrue() {
|
2021-11-22 00:14:12 +08:00
|
|
|
setBool(true);
|
2021-09-20 02:48:53 +08:00
|
|
|
}
|
|
|
|
function setFalse() {
|
2021-11-22 00:14:12 +08:00
|
|
|
setBool(false);
|
2021-09-20 02:48:53 +08:00
|
|
|
}
|
|
|
|
function toggle() {
|
2021-11-22 00:14:12 +08:00
|
|
|
setBool(!bool.value);
|
2021-09-20 02:48:53 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
return {
|
|
|
|
bool,
|
2021-11-22 00:14:12 +08:00
|
|
|
setBool,
|
2021-09-20 02:48:53 +08:00
|
|
|
setTrue,
|
|
|
|
setFalse,
|
2022-04-01 14:47:57 +08:00
|
|
|
toggle
|
2021-09-20 02:48:53 +08:00
|
|
|
};
|
|
|
|
}
|