動態(tài)監(jiān)聽元素尺寸變化element-resize-detector

適用于 表格寬度自適應(yīng) echarts 寬高計算等

1、引入插件element-resize-detector
npm install element-resize-detector
2、(1)main.js全局引入
import ElementResizeDetectorMaker from "element-resize-detector"
Vue.prototype.$erd = ElementResizeDetectorMaker()
2、(2)使用頁面引入
import ElementResizeDetectorMaker from "element-resize-detector"
<template>
  <div ref="wrapper" class="test-page" />
</template>

<script>
import ElementResizeDetectorMaker from 'element-resize-detector';
const erd = ElementResizeDetectorMaker();
export default {
  name: 'TestPage',
  data() {
    return {
      nameWidth: 100
    };
  },
  mounted() {
    this.$nextTick(() => {
      erd.listenTo(this.$refs.wrapper, (ele) => {
        console.log('=======offsetWidth', ele.offsetWidth);
        console.log('=======offsetHeight', ele.offsetHeight);
        console.log('=======clientWidth', ele.clientWidth);
        this.nameWidth = ele.clientWidth;
        //...元素尺寸變化調(diào)用其他方法
        //  this.resize()
      });
    });
  },
  beforeDestroy() {
    erd.uninstall(this.$refs.wrapper);
  }
};
</script>

頁面銷毀時beforeDestroy, 記得要卸載

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容