vue监听元素高度指令
js文件
// 监听元素高度变化 let resize = { bind(el,binding) { let width = '', height = ''; function isResize() { const style = document.defaultView.getComputedStyle(el); if (width !== style.width || height !== style.height) { binding.value(); } width = style.width; height = style.height; } el._vueSetInterval_ = setInterval(isResize,100); }, unbind(el) { clearInterval(el._vueSetInterval_); } } export default resize;
引入
import resize from '../../../../utils/myresize'
注册指令
directives:{
resize
},
使用
<div class="dataCloud-data-filter" v-resize = "resetTableHeight"></div>
resetTableHeight(){// 该元素高度变化时改变ivu-table-body高度 if(document.getElementsByClassName('dataCloud-data-filter')[0]){ this.clientHeight = document.getElementsByClassName('dataCloud-data-filter')[0].clientHeight document.getElementsByClassName('ivu-table-body')[0].style.height = `calc(100vh - ${this.clientHeight + 143}px)` } },
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了