如何解決element-ui中多個(gè)table在tab切換時(shí)出現(xiàn)寬度縮小問(wèn)題
解決element-ui中多個(gè)table在tab切換時(shí)出現(xiàn)寬度縮小問(wèn)題
用的是vue的element-ui前端框架
今天遇到一個(gè)小問(wèn)題,花了我?guī)讉€(gè)小時(shí)才研究
先看圖


我需要在兩個(gè)tab中各自放一個(gè)table,并且其中一個(gè)table的數(shù)據(jù)變化時(shí),另一個(gè)table也需要變化,當(dāng)我在第一個(gè)table刪除數(shù)據(jù)后,第一個(gè)table會(huì)刷新,然后第二個(gè)table也會(huì)刷新。
然后我切換到第二個(gè)tab時(shí),table變成這樣了,表格的寬度縮小。

研究了好久,最后用
以下方法解決
//我第一個(gè)table的ref值為tableContract,第二個(gè)table的ref值為tableTodo
//第一個(gè)tab的name值為contract,第二個(gè)tab的name值為todo
//tab的tab-click事件
tabClick({name}){
//根據(jù)點(diǎn)擊的tab的name值,判斷對(duì)應(yīng)的table
let ref=(name=='contract'?'tableContract':'tableTodo')
this.$nextTick(()=>{
this.$refs[ref].doLayout()
})
}
其實(shí)一開(kāi)始也有用到table的doLayout,但我忽略一個(gè)重點(diǎn)的地方,就是用nextTick,記得之前在哪個(gè)博客看過(guò),element-ui很多問(wèn)題用nextTick跟setTimeout都能解決的
更新??!
后面實(shí)踐后,發(fā)現(xiàn)用nextTick還是有點(diǎn)小bug,如下圖

這是因?yàn)橐粋€(gè)tab有滾動(dòng)條切換到一個(gè)沒(méi)有滾動(dòng)條的tab,后面用setTimeout就解決問(wèn)題了,測(cè)試過(guò)延遲100毫秒,比較完美
//我第一個(gè)table的ref值為tableContract,第二個(gè)table的ref值為tableTodo
//第一個(gè)tab的name值為contract,第二個(gè)tab的name值為todo
//tab的tab-click事件
tabClick({name}){
//根據(jù)點(diǎn)擊的tab的name值,判斷對(duì)應(yīng)的table
let ref=(name=='contract'?'tableContract':'tableTodo')
setTimeout(()=>{
this.$refs[ref].doLayout()
},100)
}
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue 使用v-if切換輸入框時(shí)導(dǎo)致輸入框的數(shù)據(jù)內(nèi)容沒(méi)有清空的問(wèn)題解決(兩種解決方法)
這篇文章主要介紹了vue 使用v-if切換輸入框時(shí)導(dǎo)致輸入框的數(shù)據(jù)內(nèi)容沒(méi)有清空的問(wèn)題解決,本文給大家分享兩種解決方法,需要的朋友可以參考下2023-05-05
基于vue-cli3和element實(shí)現(xiàn)登陸頁(yè)面
這篇文章主要介紹了vue-cli3和element做一個(gè)簡(jiǎn)單的登陸頁(yè)面本文實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-11-11
van-dialog 組件調(diào)用報(bào)錯(cuò)的解決
這篇文章主要介紹了van-dialog 組件調(diào)用報(bào)錯(cuò)的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05
Vue如何實(shí)現(xiàn)多頁(yè)面配置以及打包方式
這篇文章主要介紹了Vue如何實(shí)現(xiàn)多頁(yè)面配置以及打包方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-10-10
Vue文件的組織結(jié)構(gòu)不合理之優(yōu)化項(xiàng)目結(jié)構(gòu)詳解
在這篇博客中,我們將探討 Vue 文件組織結(jié)構(gòu)不合理的幾個(gè)常見(jiàn)問(wèn)題,并提供解決方案,以幫助開(kāi)發(fā)者創(chuàng)建更清晰、更高效的項(xiàng)目文件結(jié)構(gòu),希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-03-03
關(guān)于Elementui中toggleRowSelection()方法實(shí)現(xiàn)分頁(yè)切換時(shí)記錄之前選中的狀態(tài)
這篇文章主要介紹了關(guān)于Elementui中toggleRowSelection()方法實(shí)現(xiàn)分頁(yè)切換時(shí)記錄之前選中的狀態(tài),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03

