V3Hooks
  • V3Hooks
  • Async
    • useRequest
  • Side
    • useDebounce
    • useDebounceFn
    • useThrottle
    • useThrottleFn
    • useInterval
    • useTimeout
  • State
    • useToggle
    • useBoolean
    • useLocalStorage
    • useSessionStorage
    • useCookie
    • useDate
    • useNetwork
    • useSet
    • useMap
    • useWebSocket
  • UI
    • useExternal
    • useVirtualList
    • useDynamicList
    • useMediaQuery
    • useFullscreen
    • useTextSelection
    • useDocumentVisibility
    • useQRCode
  • Advanced
    • useLockFn
由 GitBook 提供支持
在本页
  • 使用Demo
  • 基础用法
  • 局部全屏
  • 介绍
  • Api
  • Params
  • Options
  • Result

这有帮助吗?

  1. UI

useFullscreen

一个用于处理 dom 全屏的 Hook。

使用Demo

基础用法

<template>
  <div class="hello">
    <div ref="fullScreen" style="background: white">
        <p>是否全屏: {{isFullscreen}}</p>
        <button @click="setFull" id="a">全屏</button>
        <button @click="exitFull">退出全屏</button>
        <button @click="toggle">toggle切换</button>
    </div>
  </div>
</template>

<script lang="ts">
import { useFullscreen } from "v3hooks";

export default {
  setup() {
    const [ isFullscreen, { setFull, exitFull, toggle } ] = useFullscreen();

    // useVirtualList测试
    return {
      isFullscreen,
      setFull,
      exitFull,
      toggle
    };
  }
};
</script>

没有传值默认为document.body

局部全屏

<template>
  <div class="hello">
    <div ref="fullScreen" style="background: white">
        <p>是否全屏: {{isFullscreen}}</p>
        <button @click="setFull" id="a">全屏</button>
        <button @click="exitFull">退出全屏</button>
        <button @click="toggle">toggle切换</button>
    </div>
  </div>
</template>

<script lang="ts">
import { ref } from 'vue';
import { useFullscreen } from "v3hooks";

export default {
  setup() {
    const fullScreen = ref();
    const [ isFullscreen, { setFull, exitFull, toggle } ] = useFullscreen(fullScreen, {
        onFull: ()=>{
            console.log('全屏')
        },
        onExitFull: ()=>{
            console.log('非全屏')
        }
    });

    return {
      isFullscreen,
      setFull,
      exitFull,
      toggle,
      fullScreen
    };
  }
};
</script>

Ref传值为fullScreen的div标签,则只会此区域全屏

介绍

useFullscreen接受一个HTMLElement, 导出操作方法.

Api

interface Actions {
    setFull: () => void;
    exitFull: () => void;
    toggle: () => void;
}
const useFullscreen: (
  target?: Target$1 | undefined, 
  options?: Options | undefined
) => [
  isFullscreen: Ref<boolean>,
  actions: Actions
];

Params

参数

说明

类型

默认值

target

原生Dom或者被Ref嵌套的Dom

HTMLElement | Ref<HTMLElement> | (() => HTMLElement)

document.body

options

设置(可选)

Options

-

Options

参数

说明

类型

onExitFull

监听退出全屏

()=>void

onFull

监听全屏

()=>void

Result

参数

说明

类型

isFullscreen

是否全屏

boolean

setFull

设置全屏

()=>void

exitFull

退出全屏

()=>void

toggleFull

切换全屏

()=>void

上一页useMediaQuery下一页useTextSelection

最后更新于3年前

这有帮助吗?