您好,登錄后才能下訂單哦!
這篇文章主要介紹了vue中如何獲取滾動table的可視頁面寬度調整表頭與列對齊,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
Vue是一套用于構建用戶界面的漸進式JavaScript框架,Vue與其它大型框架的區別是,使用Vue可以自底向上逐層應用,其核心庫只關注視圖層,方便與第三方庫和項目整合,且使用Vue可以采用單文件組件和Vue生態系統支持的庫開發復雜的單頁應用。
mounted() { // 在mounted中監聽表格scroll事件 this.$refs.scrollTable.addEventListener( 'scroll',(event) => { this.adjustTable(event); }); }, ...... // target中的屬性很多,可以通過控制臺查看—-clientWidth可以獲取除滾動條外的可視區域寬度 adjustTable(event) { this.clientWidth = event.target.clientWidth; },
獲取clientWidth,可以調整表頭與列對齊(最后一列的寬度不設置)
<table class="cl-body-table" cellpadding="0" cellspacing="0"> <thead :> <th ></th> <th class="cl-thead-th"></th> </thead> <tbody></tbody> </table> ....... // 表格滾動 table tbody { display: block; height: 495px; overflow-y: auto; overflow-x: hidden; } // 表頭固定 table thead, tbody tr { display: table; table-layout: fixed; /* 使用表格固定算法 必須配合上面一起使用 */ width: 100%; } //列寬度 .cl-thead-th { &.is-not-last { width:13.142857143% // 最后一列不設寬度,才能表頭與列對齊 } }
網上最簡單的表頭與列對齊,由于我第一列的寬度與其他列寬度不同,導致始終不能對齊。因此我采用以下方法無效
// 表格滾動 table tbody { display: block; height: 495px; overflow-y: auto; overflow-x: hidden; } // 表頭固定 table thead, tbody tr { display: table; table-layout: fixed; /* 使用表格固定算法 必須配合上面一起使用 */ width: 100%; } // 調整表頭與列對齊 table thead { width:calc(100%-2em) }
感謝你能夠認真閱讀完這篇文章,希望小編分享的“vue中如何獲取滾動table的可視頁面寬度調整表頭與列對齊”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。