mirror of
https://github.com/youzan/vant.git
synced 2025-10-17 00:14:18 +00:00
feat(use): usePageVisibility
This commit is contained in:
18
packages/vant-use/src/usePageVisibility/index.ts
Normal file
18
packages/vant-use/src/usePageVisibility/index.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
import { ref } from 'vue';
|
||||
import { inBrowser } from '../shared';
|
||||
import { useEventListener } from '../useEventListener';
|
||||
|
||||
export function usePageVisibility() {
|
||||
const visibility = ref<VisibilityState>('visible');
|
||||
|
||||
const setVisibility = () => {
|
||||
if (inBrowser) {
|
||||
visibility.value = document.hidden ? 'hidden' : 'visible';
|
||||
}
|
||||
};
|
||||
|
||||
setVisibility();
|
||||
useEventListener('visibilitychange', setVisibility);
|
||||
|
||||
return visibility;
|
||||
}
|
Reference in New Issue
Block a user