33 lines
597 B
TypeScript
33 lines
597 B
TypeScript
import { ref } from 'vue';
|
||
|
||
/**
|
||
* Dialog控制Hook
|
||
* @returns visible(显隐状态)、show(显示)、hide(隐藏)、toggle(切换)
|
||
*/
|
||
export function useDialog(initialVisible:boolean = false): {
|
||
visible: import('vue').Ref<boolean>,
|
||
show: () => void,
|
||
hide: () => void,
|
||
toggle: () => void
|
||
} {
|
||
const visible = ref(initialVisible);
|
||
|
||
const show = () => {
|
||
visible.value = true;
|
||
};
|
||
|
||
const hide = () => {
|
||
visible.value = false;
|
||
};
|
||
|
||
const toggle = () => {
|
||
visible.value = !visible.value;
|
||
};
|
||
|
||
return {
|
||
visible,
|
||
show,
|
||
hide,
|
||
toggle
|
||
};
|
||
} |