天天看點

elementUi——table 設定列為fixed後,頁面切換時導緻錯位問題(親測有效)

今天測試給我提了一個布局問題:效果圖如下:

elementUi——table 設定列為fixed後,頁面切換時導緻錯位問題(親測有效)

他的測試方式比較奇葩,是不停的切換上面的标簽頁,然後就出現了上圖的錯位問題。

百度後發現也有其他人提到這個錯位問題:

不過他們的錯誤基本是表格資料改變時,表格錯位。

是以解決辦法是:

elementUi——table 設定列為fixed後,頁面切換時導緻錯位問題(親測有效)

思路就是:

watch

監聽表格資料的變化,如果變化,則重新渲染表格。

watch: {
    tableData(val) {
        this.doLayout();
    }
},
methods:{
	doLayout() {
        this.$nextTick(() => {
            this.$refs.table.doLayout()
        })
    }
}
           

很顯然,我現在的情況并非如此,既然網上都說是因為添加了

fixed

導緻的表格錯位

elementUi——table 設定列為fixed後,頁面切換時導緻錯位問題(親測有效)

我直接簡單粗暴的把

fixed

去掉就可以了。。。

事實證明,确實可以了。但是

fixed

存在的意義在于,當表格橫向内容比較多時,可以将操作按鈕固定,友善人為操作。是以去掉

fixed

的方法并不是很人性化。

最後經過一系列排查和非人類的試探後,總結如下:

  1. 操作一列中,fixed=“right”,需要指定寬度 width
  2. 與操作列相鄰的一列不加width,其他的列指定寬度

如下圖所示:表格中的所有列都加上width,與操作列相鄰的一列不要加。

elementUi——table 設定列為fixed後,頁面切換時導緻錯位問題(親測有效)

最終效果:

elementUi——table 設定列為fixed後,頁面切換時導緻錯位問題(親測有效)