index.vue 1.6 KB

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