vue监听滚动事件 实现vxe-grid的header顶端显示

本文介绍如何在Vue中使用vxe-grid组件,通过监听滚动事件实现表格头部在滚动时始终保持可见。通过设置`header-row-class-name`并结合CSS样式,当页面滚动超过一定距离时,将表格头变为固定定位。注意此方法可能与fixed属性及横向滚动冲突,需避免固定列宽导致的横向滚动条。
摘要由CSDN通过智能技术生成

vue监听滚动事件 实现vxe-grid的header顶端显示

1.vxe-grid部分

<vxe-grid
	:data="specialPriceDetailBeanData"
	:columns="detailTableColumn"
    :header-row-class-name="tableHeaderClassName"
    size="mini"
    border
    resizable
    show-overflow
    show-header-overflow/>
  1. 监听事件
data() {
    return {
    	tableHeaderClassFlag: false
    }
},
mounted() {
	this.addListener()
},
destroy() {
    this.removeListener()
},
methods: {
    addListener() {
      window.addEventListener('scroll', this.handleScroll, true)
    },
    removeListener() {
      window.removeEventListener('scroll', this.handleScroll)
    },
    handleScroll() {
      var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop
      if (scrollTop > 260) {
        this.tableHeaderClassFlag = true
      } else {
        this.tableHeaderClassFlag = false
      }
    },
    tableHeaderClassName(row) {
      if (this.tableHeaderClassFlag) {
        return 'headerClass'
      } else {
        return 'headerClassNone'
      }
    }
}
  1. style部分
<style>
.headerClass {
  	margin-top: 30px;
  	top: 44px;
	z-index: 99999;
	position: fixed;
}
.headerClassNone {
  	background-color: #eee !important;
}
</style>
  1. 注意事项
    该效果与fixed属性冲突,与横向滚动条冲突
    因此不要固定列,列的width设置不要出现横向滚动条
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值