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

vue自定义监听元素宽高指令

在 main.js 中添加

// 自定义监听元素高度变化指令
const resizerMap = new WeakMap()
const resizeObserver = new ResizeObserver((entries) => {for (const entry of entries) {const handle = resizerMap.get(entry.target)if (handle) {handle({width: entry.borderBoxSize[0].inlineSize,height: entry.borderBoxSize[0].blockSize,})}}
})
Vue.directive('resize', {bind(el, binding) {resizerMap.set(el, binding.value)resizeObserver.observe(el)},
})

使用自定义指令

<div v-resize="getHeight">

表格设置高度

<el-tablev-loading="tableLoading"class="mt-2"id="elTable"ref="elTable":height="tableHeight":data="tableData"stripeborderstyle="width: 100%"
>
data(){return{tableHeight: 0, // 设置一个初始高度}
}

在 methods 中添加方法即可

// 设置表格高度
getHeight() {// 右侧总高度const mainHeight = document.querySelector('.right-content').offsetHeight// 表格距离顶部的高度const elTable = document.querySelector('#elTable').getBoundingClientRect()// 导航栏高度const navH = 60// 底部paddingconst bottomP = 30// 计算得到高度this.tableHeight = mainHeight - (elTable.top - navH) - bottomP
},
http://www.lryc.cn/news/145311.html

相关文章:

  • 网络爬虫到底是个啥?
  • 前端行级元素和块级元素的基本区别
  • CentOS 7用二进制安装MySQL5.7
  • 华为加速回归Mate 60发布, 7nm全自研工艺芯片
  • Linux系列讲解 —— 【systemd】下载及编译记录
  • u-view 的u-calendar 组件设置默认日期后,多次点击后,就不滚动到默认日期的位置
  • vue naive ui 按钮绑定按键
  • Viobot基本功能使用及介绍
  • 《PMBOK指南》第七版12大原则和8大绩效域
  • docker 启动命令
  • C++ DAY7
  • Vue2 使用插件 Volar 报错:<template v-for> key should be placed on the <template> tag.
  • 启动线程方法 start ()和 run ()有什么区别
  • Java的全排列模板
  • 读书笔记——《万物有灵》
  • 面试现场表现:展示你的编程能力和沟通技巧
  • 34亿的mysql表如何优雅的扩字段长度兵并归档重建
  • C#_进程单例模式.秒懂Mutex
  • AcWing 5050. 排序 (每日一题)
  • 【TypeScript】proxy 和 Reflect
  • STM32f103入门(5)定时器中断
  • Mybatis查询数据
  • 【前车之鉴】: 2023最新教程-将java程序打包到maven私服的正确打开方式,详细流程介绍不怕你掌握不了
  • 如何理解IaaS、PaaS、SaaS?盘点受欢迎的八大SaaS平台!
  • 立创EDA专业版的原理图上器件有一个虚线框
  • JUC并发编程--------基础篇
  • 秒懂算法2
  • 隐秘的角落:Java连接Oracle提示Connection timed out
  • 基于微信小程序的餐厅预订系统的设计与实现(论文+源码)_kaic
  • 科技政策 | 四川省科学技术厅关于发布2024年第一批省级科技计划项目申报指南的通知