ny
昨天 282fbc6488f4e8ceb5fda759f963ee88fbf7b999
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<script lang="ts" setup>
import { Maximize, Minimize } from '@vben-core/icons';
 
import { useFullscreen } from '@vueuse/core';
 
import { VbenIconButton } from '../button';
 
defineOptions({ name: 'FullScreen' });
 
const { isFullscreen, toggle } = useFullscreen();
 
// 重新检查全屏状态
isFullscreen.value = !!(
  document.fullscreenElement ||
  // @ts-ignore
  document.webkitFullscreenElement ||
  // @ts-ignore
  document.mozFullScreenElement ||
  // @ts-ignore
  document.msFullscreenElement
);
</script>
<template>
  <VbenIconButton
    @click="toggle"
    class="global-header-icon !mr-0 w-auto rounded-md px-[10px]"
  >
    <Minimize v-if="isFullscreen" class="text-foreground size-[18px]" />
    <Maximize v-else class="text-foreground size-[18px]" />
  </VbenIconButton>
</template>