需求小能手——全屏组件

前言

全屏功能是常见的功能,下面我们一起来封装一个全屏组件,当后续碰到全屏需求,直接cv就能愉快地学习(摸鱼)。

实现

首先技术栈选用vue,然后下载screenfull依赖库帮助我们快速实现全屏功能,总的来说就是对scrennfull的封装。

screenfull

screenfull是js一个库可以将元素全屏展示,监听全屏状态,检查浏览器是否支持全屏。该库使用方法很简单,安装之后在想用的页面引入即可。

   // 安装
   yarn add screenfull -S
   // 引入
   import screenfull from 'screenfull'

常用的属性方法如下:

  • isEnabled:判断浏览器是否支持全屏,布尔值。
  • isFullscreen:判断当前页面是否是全屏,布尔值。
  • request(e):将元素全屏,接收一个参数dom元素,该参数可选,默认为html元素。
  • exit():退出全屏模式。
  • toggle():切换全屏模式。
  • on():监听切换全屏状态的函数。
  • off():关闭监听函数。
    了解完这些方法,实现就非常简单了,直接用toggle()进行全屏切换。

代码

我们先设置一个全屏按钮,当点击的时候就触发toggle方法,当然在触发前我们可以判断一下是否支持全屏,如果不支持就给出个提示,按钮的形状也可以根据是否全屏去切换。

   <template>
  <div>
    <el-icon
      :class="isFullStatus ? 'CloseBold' : 'el-icon-full-scree'"
      @click="handleScreenFull"
    ></el-icon>
  </div>
</template>

<script setup lang="ts">
import screenfull from 'screenfull';
import { onMounted, ref } from 'vue';
import { ElMessage } from 'element-plus';
let isFullStatus = ref(false);
const handleScreenFull = () => {
  if (!screenfull.isEnabled) {
    ElMessage.warning('该浏览器不支持全屏操作');
    return;
  }
  screenfull.toggle();
  isFullStatus.value = !isFullStatus.value;
};
</script>

总结

当我们想要全屏操作按钮时,直接引入组件放到对应的位置即可。screenfull的用法也很简单,toggle方法就能实现全屏切换功能。

© 版权声明
THE END
喜欢就支持一下吧
点赞0

Warning: mysqli_query(): (HY000/3): Error writing file '/tmp/MYjlIYTi' (Errcode: 28 - No space left on device) in /www/wwwroot/583.cn/wp-includes/class-wpdb.php on line 2345
admin的头像-五八三
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

图形验证码
取消
昵称代码图片