展示問題
問題描述:使用el-table的fixed="right"
屬性后,如果切換tab時,回出現最后一列錯誤的問題
官網提供解決方法:doLayout
- 需要注意的事項:我這里是通過組件使用的table組件,涉及多層組件封裝問題,所以找
這個根組件ref找到doLayout方法的時候需要注意寫法
(如果存在組件簽套,記得多加幾次$refs[refName]
調用方法)
<el-tabs v-model="searchParam.activeName" @tab-click="handleClick"><el-tab-pane label="統計" name="first"><leftTableref="leftTableRef":table-data-list="gateStatisticsListTable":table-all="gateStatisticsListTableAll":count="tableDataCount":search-param="searchParam"@refresh="refresh"@export-all="exportAll"@change-page="changePage" /></el-tab-pane><el-tab-pane label="明細" name="second"><rightTableref="rightTableRef":table-data-list="gateStatisticsListTable":table-all="gateStatisticsListTableAll":count="tableDataCount":search-param="searchParam"@refresh="refresh"@export-all="exportAll"@change-page="changePage" /></el-tab-pane>
</el-tabs>
handleClick(tab, event) {this.$nextTick(() => {if (this.searchParam.activeName === 'first') {const that = this// 其中leftTableRef是el-table的refthat.$refs.leftTableRef.$refs.tableRef.doLayout()// 切換 tab請求接口this.queryData()}if (this.searchParam.activeName === 'second') {// 其中rightTableRef是el-table的refconst that = thisthat.$refs.rightTableRef.$refs.tableRef.doLayout()// 切換 tab請求接口this.queryData()}})
},
修改后的效果展示: