FullScreen.vue 1.0 KB

1234567891011121314151617181920212223242526272829303132333435
  1. <template>
  2. <Tooltip :title="getTitle" placement="bottom" :mouseEnterDelay="0.5">
  3. <span @click="toggle">
  4. <FullscreenOutlined v-if="!isFullscreen" />
  5. <FullscreenExitOutlined v-else />
  6. </span>
  7. </Tooltip>
  8. </template>
  9. <script lang="ts">
  10. import { defineComponent, computed, unref } from 'vue';
  11. import { Tooltip } from 'ant-design-vue';
  12. import { useI18n } from '/@/hooks/web/useI18n';
  13. import { useFullscreen } from '@vueuse/core';
  14. import { FullscreenExitOutlined, FullscreenOutlined } from '@ant-design/icons-vue';
  15. export default defineComponent({
  16. name: 'FullScreen',
  17. components: { FullscreenExitOutlined, FullscreenOutlined, Tooltip },
  18. setup() {
  19. const { t } = useI18n();
  20. const { toggle, isFullscreen } = useFullscreen();
  21. const getTitle = computed(() => {
  22. return unref(isFullscreen) ? t('layout.header.tooltipExitFull') : t('layout.header.tooltipEntryFull');
  23. });
  24. return {
  25. getTitle,
  26. isFullscreen,
  27. toggle,
  28. };
  29. },
  30. });
  31. </script>