资讯专栏INFORMATION COLUMN

监听element-ui table滚动事件

Carbs / 2368人阅读

摘要:背景做管理平台的项目用到了,需要通过监听滚动的位置来获取最新的数据,那么怎么样监听的滚动呢准备我们默认的技术栈是代码信息绑定监听事件获取需要绑定的滚动距离变量是可视区的高度变量是滚动条的总高度获取到的不是

背景
做管理平台的项目,用到了element-ui,需要通过监听el-table滚动的位置来获取最新的数据,那么怎么样监听el-table的滚动呢?
准备
我们默认的技术栈是 vue+element-ui

template代码:


    
        
    

绑定监听事件

    mounted() {
        // 获取需要绑定的table
        this.dom = this.$refs.table.bodyWrapper
        this.dom.addEventListener("scroll", () => {
            // 滚动距离
            let scrollTop = this.dom.scrollTop
            // 变量windowHeight是可视区的高度
            let windowHeight = this.dom.clientHeight || this.dom.clientHeight
            // 变量scrollHeight是滚动条的总高度
            let scrollHeight = this.dom.scrollHeight || this.dom.scrollHeight
            if (scrollTop + windowHeight === scrollHeight) {
                // 获取到的不是全部数据 当滚动到底部 继续获取新的数据
                if (!this.allData) this.getMoreLog()
                console.log("scrollTop", scrollTop + "windowHeight", windowHeight + "scrollHeight", scrollHeight)
            }
        })
    }

获取到新的数据后,调整滚动条的位置

    getMoreLog() {
        ...
        this.dom.scrollTop = this.dom.scrollTop - 100
        ...
    }
    
结语

至此我们已经完成了对table的绑定!

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/102944.html

相关文章

  • vueTable大数据展示优化

    摘要:懒加载方式常见的有淘宝一屏用元素占据一定的高度,然后再去拉图片数据。但这种方式还是需要元素占位,淘宝一页的数据量其实不算大,因为它结合了分页。 背景 showImg(https://segmentfault.com/img/bVbhSVh?w=1606&h=440);大数据项目根据用户输入代码查询数据,用户的代码不可控(比如select from db limit 5000),有可能...

    JasinYip 评论0 收藏0
  • 步步向前之Element-UI

    摘要:无效方案根据交易所小时成交量占比和实时价格加权计算得到渲染结果是一个包含了文字,同时有名为的,并无小图标,后边中括号结构里只能有一个有待考证。 Table 固定表头 只要在el-table元素中定义了height属性,即可实现固定表头的表格,而不需要额外的代码。例如: ... 这里文档只给了一种固定高度250px的解决方案,实际应用大多数是需要自适应占满父元素,超出滚动固定表头的...

    Imfan 评论0 收藏0
  • 步步向前之Element-UI

    摘要:无效方案根据交易所小时成交量占比和实时价格加权计算得到渲染结果是一个包含了文字,同时有名为的,并无小图标,后边中括号结构里只能有一个有待考证。 Table 固定表头 只要在el-table元素中定义了height属性,即可实现固定表头的表格,而不需要额外的代码。例如: ... 这里文档只给了一种固定高度250px的解决方案,实际应用大多数是需要自适应占满父元素,超出滚动固定表头的...

    ZoomQuiet 评论0 收藏0
  • 开发中遇到的问题总结

    摘要:获取字符串中出现次数最多的字符。去掉字符串中的所有空格中对象数组按对象属性排序 VUE 1、vue——解决You may use special comments to disable some warnings. Use // eslint-disable-next-line to ignore the next line. Use / eslint-disable / to ign...

    wenshi11019 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<