問題:當(dāng)表格設(shè)置固定高度height
同時(shí)某一列固定fixed
在表格左側(cè)或右側(cè)時(shí)闻书,查詢數(shù)據(jù)妆毕,表格出現(xiàn)豎向滾動(dòng)條時(shí),將滾動(dòng)條拉至底部重新查詢數(shù)據(jù)蜡感,固定的列與未固定的列出現(xiàn)錯(cuò)位現(xiàn)象
image.png
解決:兩種方案如下:
- Vue原型添加全局方法,在
main.js
文件中全局配置方法恃泪,查詢表格數(shù)據(jù)時(shí)郑兴,在查詢方法中調(diào)用該方法。
// main.js
Vue.prototype.$tableScroll = (table) => {
table.$refs.body.scrollTop = 0;
table.$refs.body.scrollLeft = 0;
};
// 業(yè)務(wù)組件.vue贝乎,id來(lái)源于<Table ref="id"></Table>
this.$tableScroll(this.$refs.id);
- Vue注冊(cè)全局指令情连,使用表格組件時(shí)只需要配置
v-table-scroll
指令即可
// main.js
Vue.directive('table-scroll', (el, binding) => {
if(binding.value){
el.__vue__.$refs.body.scrollTop = 0;
el.__vue__.$refs.body.scrollLeft = 0;
}
})
// 業(yè)務(wù)組件.vue,loading在data()中定義糕非,默認(rèn)設(shè)置為false蒙具,查詢開始為true,查詢結(jié)束為false
<Table v-table-scroll="loading"></Table>