前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Vue组件设计-全屏显示

Vue组件设计-全屏显示

作者头像
越陌度阡
发布2023-05-03 09:31:07
9470
发布2023-05-03 09:31:07
举报

在后台管理系统中基本都会有全屏显示功能,常见于右上角的用户信息旁边,方便在小屏下使用系统。

1. 安装依赖

代码语言:javascript
复制
npm install --save screenfull@4.2.0

建议安装5以下的版本,全屏插件的版本过高可能会导致无法正常全屏。

2. 封装组件

代码语言:javascript
复制
<template>
    <div>
        <svg-icon
            @click="click"
            style="font-size: 14px"
            :icon-class="isFullscreen ? 'exit-fullscreen' : 'fullscreen'"
        />
    </div>
</template>

<script>

import screenfull from "screenfull";

export default {
    name:"Screenfull",
    data(){
        return {
            isFullscreen: false,
        };
    },

    mounted() {
        this.init();
    },

    beforeDestroy() {
        this.destroy();
    },



    methods: {
        click() {
            if (!screenfull.enabled) {
                this.$message({
                    message: "你的浏览器无法正常工作",
                    type: "warning",
                });
                return false;
            };
            //切换全屏
            screenfull.toggle();
        },
        change(){
            this.isFullscreen = screenfull.isFullscreen;
        },
        init(){
            if(screenfull.enabled) {
                // 组件挂载时,绑定事件
                screenfull.on("change",this.change);
            }
        },
        destroy(){
            if (screenfull.enabled) {
                // 组件卸载时,解绑事件
                screenfull.off("change",this.change);
            }
        },

    },
};
</script>

<style scoped>
.screenfull-svg {
    display: inline-block;
    cursor: pointer;
    fill: #5a5e66;
    width: 20px;
    height: 20px;
    vertical-align: 10px;
}
</style>

3. 使用组件

代码语言:javascript
复制
<template>
    <div>
        <Screenfull></Screenfull>
    </div>
</template>

<script>

import Screenfull from "@/components/Screenfull";

export default {
    components:{
        Screenfull:Screenfull,
    }
};
</script>
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-04-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 安装依赖
  • 2. 封装组件
  • 3. 使用组件
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档