index.vue 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <template>
  2. <PageWrapper title="全屏示例">
  3. <CollapseContainer class="w-full h-32 bg-white rounded-md" title="Window Full Screen">
  4. <a-button type="primary" @click="enter" class="mr-2"> Enter Window Full Screen </a-button>
  5. <a-button color="success" @click="toggle" class="mr-2"> Toggle Window Full Screen </a-button>
  6. <a-button color="error" @click="exit" class="mr-2"> Exit Window Full Screen </a-button>
  7. Current State: {{ isFullscreen }}
  8. </CollapseContainer>
  9. <CollapseContainer class="w-full mt-5 bg-white rounded-md" title="Dom Full Screen">
  10. <a-button type="primary" @click="toggleDom" class="mr-2"> Enter Dom Full Screen </a-button>
  11. </CollapseContainer>
  12. <div ref="domRef" class="flex items-center justify-center w-1/2 h-64 mx-auto mt-10 bg-white rounded-md">
  13. <a-button type="primary" @click="toggleDom" class="mr-2"> Exit Dom Full Screen </a-button>
  14. </div>
  15. </PageWrapper>
  16. </template>
  17. <script lang="ts">
  18. import { defineComponent, ref } from 'vue';
  19. import { CollapseContainer } from '/@/components/Container/index';
  20. import { useFullscreen } from '@vueuse/core';
  21. import { PageWrapper } from '/@/components/Page';
  22. export default defineComponent({
  23. components: { CollapseContainer, PageWrapper },
  24. setup() {
  25. const domRef = ref<Nullable<HTMLElement>>(null);
  26. const { enter, toggle, exit, isFullscreen } = useFullscreen();
  27. const { toggle: toggleDom } = useFullscreen(domRef);
  28. return {
  29. enter,
  30. toggleDom,
  31. toggle,
  32. isFullscreen,
  33. exit,
  34. domRef,
  35. };
  36. },
  37. });
  38. </script>