Angular8 實(shí)現(xiàn)table表格表頭固定效果
最近項(xiàng)目中有個(gè)需求,表頭固定,內(nèi)部實(shí)現(xiàn)滾動(dòng)條。除了單個(gè)表頭,還有多個(gè)表頭的情況(下一篇中介紹)。
效果圖:
html 結(jié)構(gòu)
按區(qū)域劃分可以分為三個(gè)大部分,一共是通過(guò)4個(gè)table 組合成一個(gè)整體的table。
然后通過(guò) col 屬性去設(shè)定列的寬度,注意:這里的寬度必須要設(shè)置為固定值。
表頭過(guò)濾功能暫時(shí)未實(shí)現(xiàn)。
水平滾動(dòng)效果與垂直滾動(dòng)效果
監(jiān)聽主體table(淺綠色部分)滾動(dòng)事件,同步上下滾動(dòng)頭部的table (深綠色部分)和 左右滾動(dòng)左側(cè)固定的table(紅色部分中的紫色部分)
代碼 1
$(this.tableContent.nativeElement).on('scroll', (e) => { $(this.fixedRowWrapper.nativeElement).prop('scrollTop', $(this.tableContent.nativeElement).prop('scrollTop')); //方式一 :設(shè)置頭部固定列table 的滾動(dòng)條,需要配合less 樣式隱藏滾動(dòng)條(如果不考慮ie9的兼容性,可以使用。less樣式參考代碼2) // $(this.tableHeader.nativeElement).prop('scrollLeft', $(this.tableContent.nativeElement).prop('scrollLeft')) // 方式二:設(shè)置頭部固定列table 的margin-left 屬性為負(fù)值,間接實(shí)現(xiàn)了頭部固定的列同步向左滾動(dòng)效果,兼容ie9 $(this.tableHeader.nativeElement).css({ marginLeft: `${-$(this.tableContent.nativeElement).prop('scrollLeft')}px` }) })
代碼 2
.ngx-table__header-inner { // 隱藏滾動(dòng)條,頁(yè)面div 保持橫向滾動(dòng),但是不支持ie9 ,為了兼容性所以沒(méi)有使用,ts 中同步滾動(dòng) // 而是動(dòng)態(tài)設(shè)置 ngx-table__header-inner 的margin-left 實(shí)現(xiàn)滾動(dòng)效果 overflow: -moz-scrollbars-none; overflow-x: auto; -ms-overflow-style: none; &::-webkit-scrollbar { width: 0 !important; display: none; } }
完整代碼地址
github項(xiàng)目地址,需要的可以點(diǎn)擊訪問(wèn) https://github.com/zjinger/ngx-TPR/tree/master/src/app/components/scroll-table
總結(jié)
以上所述是小編給大家介紹的Angular8 實(shí)現(xiàn)table表格表頭固定效果,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章
angular6的table組件開發(fā)的實(shí)現(xiàn)示例
這篇文章主要介紹了angular6的table組件開發(fā)的實(shí)現(xiàn)示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-12-12Angular.JS中指令ng-if、ng-show/ng-hide和ng-switch的使用教程
在Angular的原生指令中有這幾個(gè)指令用來(lái)控制元素的展示與否,ng-show/ng-hide/ng-if和ng-switch。在angular性能優(yōu)化中,我們也常常會(huì)用到它。這篇文章主要給大家介紹了在Angular.JS中指令ng-if、ng-show/ng-hide和ng-switch的使用教程,需要的朋友可以參考。2017-05-05AngularJS路由切換實(shí)現(xiàn)方法分析
這篇文章主要介紹了AngularJS路由切換實(shí)現(xiàn)方法,結(jié)合具體實(shí)例形式分析了AngularJS路由切換的實(shí)現(xiàn)步驟與相關(guān)操作技巧,需要的朋友可以參考下2017-03-03Javascript基礎(chǔ)_標(biāo)記文字的實(shí)現(xiàn)方法
下面小編就為大家?guī)?lái)一篇Javascript基礎(chǔ)_標(biāo)記文字的實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-06-06Angular Universal服務(wù)器端渲染避免 window is not&
這篇文章主要介紹了Angular Universal服務(wù)器端渲染避免 window is not defined錯(cuò)誤消息,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07