Element-ui的table中使用fixed后出現(xiàn)行混亂情況的解決
Element-ui的table中使用fixed后出現(xiàn)行混亂
話不多說(shuō),先看看問(wèn)題是什么
我們看到table左側(cè)fixed的區(qū)域并沒(méi)有延伸到表格底部,之前在用戶拖拽表格時(shí)添加了方法this.$refs.headGroupTable.doLayout()來(lái)重置表格(headGroupTable是自定義組件名稱,學(xué)過(guò)vue的都懂),但是在數(shù)據(jù)拿到后使用此方法并不能解決以上問(wèn)題
解決方法
其實(shí)解決方法也很簡(jiǎn)單,我們打開(kāi)瀏覽器看到fiexed的表格區(qū)域樣式的高度是固定的px,這是我只需要添加一下代碼即可
.el-table__fixed { height: 100%!important; }
其實(shí)這里我想告訴大家,解決問(wèn)題的方法不難找出,很多種方案都可實(shí)現(xiàn),比如還可以使用jq、元素js等等都可以解決以上問(wèn)題,當(dāng)然我只是把最簡(jiǎn)單暴力的貼出來(lái)了,溫馨提示下,這個(gè)樣式不建議全局修改,你可以寫成局部樣式,部分組件生效
使用element-ui table組件 fixed 布局錯(cuò)位 問(wèn)題原因解決
問(wèn)題
使用element-ui table表格布局,頭尾列fiexd時(shí),在chrome,火狐,edg瀏覽器上布局正常,但是在國(guó)產(chǎn)瀏覽器,qq瀏覽器,UC瀏覽器,360瀏覽器上布局錯(cuò)亂。
原因
因?yàn)閏hrome正常,所以懷疑是國(guó)產(chǎn)瀏覽器的chrome內(nèi)核版本問(wèn)題,就查看了一下,qq瀏覽器是70,uc瀏覽器55,360是65,而edg瀏覽器和chrome瀏覽器內(nèi)核版本均是92。
造成的直接原因其實(shí)已經(jīng)找到了,就是國(guó)產(chǎn)瀏覽器chrome內(nèi)核版本低,而element-ui在低版本chrome內(nèi)核上沒(méi)有做兼容。
解決
直接原因知道了,但是怎么解決?
習(xí)慣性百度了一下,果然有很多網(wǎng)友也遇到同樣的問(wèn)題,提供的方案也多種,其中說(shuō)的最多的是調(diào)用element-ui table組件的doLayout方法,重新刷新布局。
然并卵,試了網(wǎng)友的多種方法均無(wú)效!
那只能嘗試另辟蹊徑。于是查看了其他頁(yè)面,發(fā)現(xiàn)項(xiàng)目里面的用戶列表頁(yè)面同樣有換行,但是沒(méi)有錯(cuò)亂。
既然有不一致,那就對(duì)比兩個(gè)頁(yè)面,發(fā)現(xiàn)其實(shí)沒(méi)多大差異,所以智能來(lái)笨辦法。
將有問(wèn)題的列表的el-table-column注釋,看頁(yè)面反應(yīng)。
首先將使用了 的el-table-column注釋,結(jié)果返現(xiàn),當(dāng)吧含有組件file-view-list (一個(gè)文件預(yù)覽組件) 的el-table-column注釋后,頁(yè)面竟然正常了!!
那就是file-view-list組件有問(wèn)題,于是找到file-view-list組件里面,注釋里面的樣式,后面終于找到了影響頁(yè)面布局的css,竟然是一個(gè)多行省略樣式,scss的混合。
//多行省略 @mixin textMultiLineEllipsis($clamp:1){ overflow : hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: $clamp; -webkit-box-orient: vertical; }
具體為何影響的深層次原因目前尚不清楚,但是后面換了種寫法就好了,換成單行省略的寫法
//省略號(hào) @mixin textEllipsis ($width) { max-width: $width; overflow: hidden; -ms-text-overflow: ellipsis; text-overflow: ellipsis; white-space: nowrap; }
不過(guò)深層次原因還沒(méi)有找到。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue3使用particles插件實(shí)現(xiàn)粒子背景的方法詳解
這篇文章主要為大家詳細(xì)介紹了vue3使用particles插件實(shí)現(xiàn)粒子背景的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2022-03-03用Vue.js實(shí)現(xiàn)監(jiān)聽(tīng)屬性的變化
響應(yīng)系統(tǒng)是Vue.js的一個(gè)顯著功能,修改屬性,可以更新視圖,這讓狀態(tài)管理變得非常簡(jiǎn)單且直觀。這篇文章主要給大家介紹如何利用Vue.js實(shí)現(xiàn)觀察屬性的變化,有需要的朋友們可以參考借鑒,感興趣的朋友們下面來(lái)一起看看吧。2016-11-11vue3中實(shí)現(xiàn)組件通信的方法總結(jié)
在Vue3中,有多種方法可以實(shí)現(xiàn)組件之間的通信,本文就通過(guò)代碼示例給大家總結(jié)一些vue3實(shí)現(xiàn)組件通信的常用方法,需要的朋友可以參考下2023-06-06Vue兩個(gè)同級(jí)組件傳值實(shí)現(xiàn)
Vue組件之間是有聯(lián)系的,避免不了組件之間要互相傳值,那么如何實(shí)現(xiàn)Vue兩個(gè)同級(jí)組件傳值,本文就來(lái)介紹一下,感興趣的可以了解一下2021-07-07解決Vue使用swiper動(dòng)態(tài)加載數(shù)據(jù),動(dòng)態(tài)輪播數(shù)據(jù)顯示白屏的問(wèn)題
今天小編就為大家分享一篇解決Vue使用swiper動(dòng)態(tài)加載數(shù)據(jù),動(dòng)態(tài)輪播數(shù)據(jù)顯示白屏的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-09-09Vue + Webpack + Vue-loader學(xué)習(xí)教程之相關(guān)配置篇
這篇文章主要介紹了關(guān)于Vue + Webpack + Vue-loader的相關(guān)配置篇,文中通過(guò)示例代碼介紹的非常詳細(xì),相信對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-03-03手把手教你Vue3實(shí)現(xiàn)路由跳轉(zhuǎn)
Vue Router是Vue.js的官方路由器,它與Vue.js核心深度集成,使使用Vue.js構(gòu)建單頁(yè)應(yīng)用程序變得輕而易舉,下面這篇文章主要給大家介紹了關(guān)于Vue3實(shí)現(xiàn)路由跳轉(zhuǎn)的相關(guān)資料,需要的朋友可以參考下2022-08-08