当前位置: 首页 > news >正文

vue3 指定元素全屏 screenfull(可直接粘贴使用)

业务需求

由于输入的文字较多,需要将输入框进行全屏展示,方便输入和查看!

效果图

在这里插入图片描述
在这里插入图片描述

实现方式

  1. 下载插件"screenfull": “^6.0.2” yarn add screenfull -S
  2. 项目中使用 import screenfull from "screenfull"
  3. templte中代码
<div ref="textareaRef" class="screenFull"><el-icon class="screen_icon" @click.stop.prevent="handleScreen"><FullScreen /></el-icon><el-inputid="inputElement"v-model="noteData.noteText":rows="rowSize"maxlength="5000":autofocus="true"type="textarea"placeholder="有什么手记想分享给大家?"/></div>
  1. javascript代码
import { ref } from "vue";const textareaRef = ref(null);
const rowSize = ref("3");// 点击esc和x号退出全屏
const handleResize = () => {// 写法一 start // document.webkitIsFullScreen  用来判断是否按了ESC和X号取消全屏 (webkitIsFullScreen有兼容性问题)if (!document.webkitIsFullScreen) {screenfull.exit();rowSize.value = "3";textareaRef.value.style.width = "100%";textareaRef.value.style.height = "";}// 写法一 end// 写法二 start  推荐if (!screenfull.isFullscreen) {screenfull.exit();rowSize.value = "3";if (textareaRef.value) {textareaRef.value.style.width = "100%";textareaRef.value.style.height = "";}}// 写法二 start
};// 全屏
const handleScreen = () => {if (screenfull.isEnabled) {screenfull.toggle(textareaRef.value);rowSize.value = Math.floor(window.innerHeight / 17).toString(); // 该属性不能完成保证高度为多少行textareaRef.value.style.width = "100%";textareaRef.value.style.height = "100vh";textareaRef.value.style.backgroundColor = "#ffffff";window.onresize = handleResize;}
};
  1. style代码
<style lang="scss" scoped>
.screenFull {position: relative;
}.screen_icon {position: absolute;top: 10px;right: 6px;z-index: 10;cursor: pointer;font-size: 15px;
}
</style>
http://www.lryc.cn/news/436048.html

相关文章:

  • 【规范】Git Commit 约定式提交规范
  • GDB的基本使用方法(之一)
  • DoubletFinder去除双细胞分析学习
  • 软考高级第四版备考---第四十八天(项目基本要素-项目项目、项目集、项目组合和运营管理之间的关系)
  • 系统架构设计师:信息系统基础知识
  • 微服务-nacos
  • 快速上手 | 数据可观测性平台 Datavines 自定义SQL规则使用指南
  • MySQL零基础入门教程-6 查询去重、内外连接查询、子查询、分页查询DQL,基础+实战
  • Elastic:如何将数据转化为可操作的见解?
  • 基于SSM和VUE的药品管理系统(含源码+sql+视频导入教程+文档)
  • 机器学习--神经网络
  • post请求中有[]报400异常
  • ad22 如何在pcb 的keepout layout 上画线 然后裁出想要的黑色画布大小
  • SparkSQL SET和RESET
  • java 中线程的等待和唤醒
  • windows下自启springboot项目(jar+nginx)
  • 解锁SAP数据的潜力:SNP Glue与SAP Datasphere的协同作用
  • Missing package to enable rendering OpenAI Gym in Colab
  • 通过打包 Flash Attention 来提升 Hugging Face 训练效率
  • 用hiredis连接redis
  • 第G8周:ACGAN任务
  • nvm拉取安装node包时报错的解决办法
  • PyTorch 和 TensorFlow
  • 数据库视图和索引
  • 哈希表的底层实现(1)---C++版
  • 如何使用PTK一键安装opengaussdb 5.0
  • 跟李沐学AI:长短期记忆网络LSTM
  • 【BIM模型数据】BIM模型的数据如何存储,BIM大模型数据云端存储,需要考虑哪些因素,BIM模型数据存储和获取
  • 【LLM大模型】大模型架构:layer\_normalization
  • PON光模块的独特类型和特性