Vue根據瀏覽器窗體變化動態設置Element Table組件的最大高度


Vue根據瀏覽器窗體變化動態設置Element Table組件的最大高度

這個場景應該經常遇到,比如說在一個頁面有一個table,想讓他數據過多的時候自動出現滾動條而不至於沖到屏幕外被隱藏,如果表格下面還有換頁的話,換頁直接沖沒了,所以需要計算這個table表格的最大高度。

使用的是餓了嗎Element組件庫的table組件,有一個屬性是 max-height ,設置表格的最大高度,高出自動出現縱向滾動條。

<el-table
  :data="dataList"
  :max-height="maxheight"
  v-loading="loading"
  class="table">
</el-table>

然后在data里面定義一個屬性,就是 maxheight ,設置表格的最大高度。

data() {
	return {
		// 這個減195是除了表格還有50px其他的東西在這個頁面所占的高度,比如下面的分頁,上邊的搜索啥的
		maxheight: window.innerHeight - 50
	}
}

這樣的話,第一次進入頁面,頁面顯示就可以了。但是有問題,就是當瀏覽器突然縮放或者是放大,放小,又會出問題。

這是由於在瀏覽器變化的時候沒有重新計算高度導致的,我們需要在瀏覽器變化的時候重新計算一下高度然后給table賦值就可以了。

  mounted () {
    window.onresize = () => {
      return (() => {、
          this.maxheight = window.innerHeight - 50
      })()
    }
  },

為保險,在actived鈎子中也重新賦值一下。

activated () {
    this.maxheight = window.innerHeight - 50
},


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM