ElementUi 表格自动滚动

这篇具有很好参考价值的文章主要介绍了ElementUi 表格自动滚动。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

概要

相关资源

关键点

实现原理

核心代码

异常情况

相关链接


概要

        本文主要讲解如何在elmentui的table组件上实现表格内容自动滚动。表格背景已通过css修改为透明背景。话不多说,直接进入正题。

相关资源

资源类型 资源名称
JQUERY

jquery-3.1.1.min.js

VUE

vue.js

VUE

vue-resource.js

ElementUI

elementui.min.js

ElementUI

elementui.css

关键点

    1.创建html页面引入相关资源        ElementUi 表格自动滚动

    2.创建el-table表格

        ref="datalist" 表格元素的标记,用于获取到这个元素,用法:$.refs.datalist

        @mouseover.native 鼠标移入表格事件  移入表格时滚动暂停

        @mouseout.native 鼠标移出表格事件 移除表格时滚动恢复

        @row-click  表格每行的点击事件

        :data="tableData" 表格绑定的数据源名称

        height="420"  设置表格高度为420,必须,否则表格无法滚动

<div id="App">
        <div class="warp">
            <div class="close" onclick="closePage">X</div>
            <div class="list">
                <el-table ref="datalist"
                          @mouseover.native="mouseEnter()"
                          @mouseout.native="mouseLeave()"
                          @row-click="tableRowClick"
                          :data="tableData" height="420" border style="width: 100%"
                >
                    <el-table-column prop="time" align="center" label="时间" width="150">
                    </el-table-column>
                    <el-table-column prop="title" align="left" label="事件" >
                    </el-table-column>
                </el-table>
            </div>
        </div>
    </div>

实现原理

        通过获取表格的实际高度、可视高度、滚动距离,利用定时器按照设置的速度和每帧滚动距离不断重新设置滚动距离达到滚动的效果。到达底部后滚动距离重置为0.

核心代码

ElementUi 表格自动滚动核心代码如下

//实现滚动核心方法 
//前置条件 1.table有height 2.show-header不能设置为false 值为false时不能正确活取到scrollHeight 
        autoRoll(stop){
			if(stop){
				clearInterval(rolltimmer);
				return;
			}
			const table=this.$refs.datalist;
			const divData=table.bodyWrapper;
			rolltimmer=setInterval(()=>{
				divData.scrollTop+=this.rollPx;
				if(divData.clientHeight+divData.scrollTop>=divData.scrollHeight){
					divData.scrollTop=0;
				}
			},this.rolltime);
		},
		//鼠标进入 停止滚动
		mouseEnter(time){
			this.autoRoll(true);
		},
		//鼠标离开 开始滚动
		mouseLeave(){
			this.autoRoll();
		},

异常情况

    1.当表格设置了show-header=false时不会展示表头,同时因无法正常通过scrollHeight获取表格实际高度导致无法看到滚动效果

相关链接

        代码及对应资源请访问主页下载

        文章来源地址https://www.toymoban.com/news/detail-444821.html

到了这里,关于ElementUi 表格自动滚动的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ElementUI之动态树+数据表格+分页->动态树,动态表格

    动态树 动态表格 1.动态树 2.动态表格  

    2024年02月07日
    浏览(51)
  • elementui制作可编辑表格行

    当点击某一行的编辑按钮时,单元格变成可输入的状态,点击保存之后变成纯展示状态。 效果如下:  步骤:  (1)可编辑可展示的单元格需要两个状态,一个使用input标签包裹,一个使用span标签包裹,二者呈现互斥的状态,通过v-if绑定一个值让他们取反显示 (2)操作按

    2024年02月11日
    浏览(30)
  • elementui表格数据加载即勾选

    搜索: elementui 表格数据加载即勾选|elementui表格勾选   1 、关键点: 需要使用watch和nextTick,直接参考官方案例,在数据返回时候设置勾选不好使。 2 、表格定义             el-table : height =\\\" 570 \\\" : data =\\\"roleTableData\\\" style = \\\"width: 100%\\\" border stripe ref = \\\"msTable\\\"             3

    2024年02月13日
    浏览(36)
  • ElementUI 树形表格的使用以及表单嵌套树形表格的校验问题等汇总

    目录 一、树形表格如何添加序号体现层级关系  二、树形表格展开收缩图标位置放置,设置指定列 三、表单嵌套树形表格的校验问题以及如何给校验rules传参 普通表格绑定如下:这种方法只能校验表格的第一层,树形需要递归设置子级节点prop。 树形表格绑定如下:使用下面

    2024年02月11日
    浏览(46)
  • ElementUI的表格设置勾选toggleRowSelection

    该API一般在页面加载完成之后再调用 该API会触发表格的 selection-change 事件,注意勾选数据的影响 切换下一页时,页面刷新tableData发生变化,在返回上一页,勾选的数据checkbox的check属性已经被重置为false,所以不会回显之前勾选的行

    2024年02月09日
    浏览(39)
  • ElementUI浅尝辄止15:Table 表格

    用于展示多条结构类似的数据,可对数据进行排序、筛选、对比或其他自定义操作。 Table组件比较常用,常见于数据查询,报表页面,用来展示表格数据。 使用带斑马纹的表格,可以更容易区分出不同行的数据。 可将表格内容 highlight 显示,方便区分「成功、信息、警告、危

    2024年02月09日
    浏览(34)
  • elementui表格实现顶部和左侧双表头

    先上效果图  左边第一列的表头是咱们前端根据需要自定义的,常用于需要数据对比的场景。 后端返回的数据如下,就是常用的表格格式(这里是每个产品数据都是单独的接口调用的,前端做个聚合就好,dataList = [data1, data2] ):  我们先自定义左边一列,这里的key是根据后端

    2024年02月15日
    浏览(33)
  • element-ui table表格 增加合计行 和 表格列固定之后 滚动条无法滚动

    是因为el-table__fixed或el-table__fixed-right有了合计之后把 el-table__body-wrapper层覆盖 el-table__fixed或el-table__fixed-right层级较高 因此点击滚动条失效 解决方法: 若想设置滚动条样式 若想合并合计行的列

    2024年02月15日
    浏览(45)
  • Vue + ElementUI 实现可编辑表格及校验

    完整代码见文末 使用两个表单分别用于实现修改和新增处理。 通过一个 editIndex 变量判断是否是编辑状态来决定是否展示输入框,当点击指定行的修改后进行设置即可: 通过隐藏表头实现新增表格和修改表格的合并,同时表格数据只有 addRow : 当无数据时只展示新增行: 通

    2024年02月14日
    浏览(38)
  • vue+elementUi获取滚动条位置、判断是否存在滚动条、addEventListener、removeEventListener、document、window、scroll、client

    document方式 window方式 公共部分 document方式 window方式 1、获取指定元素的滚动条值。在 elementUi 组件中需要通过 class 获取,因为 id 是动态值。 2、使用 window 方式时,只能检测到 body 或页面窗口的滚动条。然而对于 elementUi 的弹窗等组件获取到的滚动条值为 0 。 3、 addEventListe

    2024年02月13日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包