vue 渲染多列表格,拖动加载

vue在使用el-table渲染多列(几千列)表格时,页面会十分卡顿,使用html原生表格拖动滚动条加载列,可以解决这个问题

后端接口返回的数据格式如下:
line_data中的数据title对应index_title里的内容
在这里插入图片描述

<template><table class="echarts-table" v-loading="dataTableLoading" :height="tableHeight"><thead class="table-title"><tr><th v-for="(item, index) in titleList" :key="index" :title="item">{{ item }}</th></tr></thead><tbody><trv-for="(item, index) in datalist":key="index"class="table-content":class="{ 'odd-number': index % 2 != 0 }"><tdv-for="(prop, idx) in item":key="idx":title="idx != 0 ? prop : ''">{{ prop }}</td></tr></tbody></table>
</template>
<script>
export default {data() {return {titleList: [],contentList: [],datalist: [],currentFeatureList: [],colPage: 1,colPageSize: 100,total: 0}},mounted() {this.$nextTick(() => {const scrollDiv = document.getElementsByClassName('echarts-table')[0]//获取表格元素scrollDiv.addEventListener('scroll', () => {// 判断是否滚动到底部if (scrollDiv.scrollLeft + scrollDiv.clientWidth === scrollDiv.scrollWidth) {console.log('横向滚动到底部');if (this.total >= this.startData.excel_data[0].line_data.length) returnthis.colPage += 1//加载列this.getColData(this.colPage, 'scroll')} else {console.log('object');}});})},methods: {//获取表格数据getDetailList() {this.dataTableLoading = true;this.$axios.get(`/ai/radiomics/feature/excel/${this.info.id}`).then((res) => {if (res.data.code == 200) {console.time('p1');this.startData = res.data.datathis.getColData()this.dataTableLoading = false;}});},getColData() {const length = this.startData.excel_data[0].line_data.lengthconst isLastPage = this.colPage === parseInt(length / this.colPageSize) //判断是否为组后一页const residueNumber = length % this.colPageSize //余数this.total = length >= this.colPageSize ? (isLastPage ? (this.colPage * this.colPageSize) + residueNumber : this.colPage * this.colPageSize) : lengthconst currentDatalist = []this.startData.excel_data.forEach((item, index) => {const currentPage = (this.colPage - 1) * this.colPageSizeconst currentLineData = []for (let i = currentPage; i < this.total; i++) {const value = item.line_data[i]const key = this.startData.index_title[i]if (index == 0) {this.titleList.push(key)}currentLineData.push(value)}currentDatalist.push(currentLineData)})if (this.colPage == 1) {this.datalist = currentDatalist} else {// 当前列添加到原数组this.datalist = this.datalist.map((item, index) => {const currentItem = currentDatalist[index]item = [...item,...currentItem]return item})}},}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/667424.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

diffusers代码梳理总结

常用类 这里总结一些频繁用到的支持类。 from dataclasses import dataclass from ..utils import BaseOutput from collections import OrderedDictclass BaseOutput(OrderedDict):...dataclass class Unet2DOutput(BaseOutput):"""The output of [Unet2DMod…

Linux---yum命令详解

&#x1f4d9; 作者简介 &#xff1a;RO-BERRY &#x1f4d7; 学习方向&#xff1a;致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 &#x1f4d2; 日后方向 : 偏向于CPP开发以及大数据方向&#xff0c;欢迎各位关注&#xff0c;谢谢各位的支持 目录 1.概念2.yum的配置信…

【开源】WordPress一键崩溃宕机插件(整活娱乐)

插件介绍 可一键实现Wordpress崩溃宕机的整活向插件&#xff08;请勿用于非法途径&#xff0c;仅供整活娱乐&#xff09;。鼓励关注网站性能的提升&#xff0c;以提供更好的用户体验&#xff0c;提倡为用户提供良好体验和高效速度的原则。 介绍 长期以来&#xff0c;人们都在…

【webrtc】跟webrtc学list遍历

m98 代码:RTT G:\CDN\rtcCli\m98\src\video\call_stats.cc遍历list 进行删除 :remove_if void RemoveOldReports(int64_t now, std::list<CallStats::RttTime>* reports) {static constexpr const <

算法训练|乘积最大数组、最长有效括号

152. 乘积最大子数组 - 力扣&#xff08;LeetCode&#xff09; 总结&#xff1a;解题思路是需要维护一个最大值以及一个最小值&#xff0c;因为最小值如果是负数的话乘上接下来的一个负数会有可能成为最大的数 代码&#xff1a; class Solution { public:int maxProduct(vec…

【Vue】3-1、Vue 3 简介

一、Vue 3 的优势 Vue 2 Options API 的缺陷&#xff1a; 一个功能往往需要在不同的 vue 配置项中定义属性和方法&#xff0c;比较分散&#xff0c;需求简单还好&#xff0c;清晰明了&#xff1b;但是需求复杂之后&#xff0c;就会多出 watch&#xff0c;computed&#xff0c;i…

两次NAT

两次NAT即Twice NAT&#xff0c;指源IP和目的IP同时转换&#xff0c;该技术应用于内部网络主机地址与外部网络上主机地址重叠的情况。 如图所示&#xff0c;两次NAT转换的过程如下: 内网Host A要访问地址重叠的外部网络Host B&#xff0c;Host A向位于外部网络的DNS服务器发送…

Android11+ 如何获得外部存储权限

现如今Android版本读取外部目录已经三分天下&#xff1a; Android6.0以下Android6.0-Android11Android11以上 一、在Android6.0以下的版本中&#xff0c;读取外部目录可直接读取new File(Environment.getExternalStorageDirectory().getAbsolutePath()) 二、在Android6.0-An…

力扣面试150 只出现一次的数字Ⅱ 哈希 统计数位 DFA有穷自动机

Problem: 137. 只出现一次的数字 II 文章目录 思路&#x1f496; 哈希&#x1f496; 位数统计&#x1f496; DFA 状态机 思路 &#x1f468;‍&#x1f3eb; 参考 &#x1f496; 哈希 ⏰ 时间复杂度: O ( n ) O(n) O(n) &#x1f30e; 空间复杂度: O ( n ) O(n) O(n) cl…

【EVP】Explicit Visual Prompting for Low-Level Structure Segmentations

目录 &#x1f347;&#x1f347;0.简介 &#x1f337;&#x1f337;1.研究动机 &#x1f34b;&#x1f34b;2.主要贡献 &#x1f353;&#x1f353;3.网络结构 &#x1f36d;3.1整体结构 &#x1f36d;3.2高频分量计算 &#x1f36d;3.3显示视觉提示EVP &#x1f342;&…

【Java八股文面试系列】JVM-内存区域

目录 Java内存区域 运行时数据区域 线程独享区域 程序计数器 Java 虚拟机栈 StackFlowError&OOM 本地方法栈 线程共享区域 堆 GCR-分代回收算法 字符串常量池 方法区 运行时常量池 HotSpot 虚拟机对象探秘 对象的创建 对象的内存布局 句柄 Java内存区域 运…

2024年美赛数学建模F题思路分析 - 减少非法野生动物贸易

# 1 赛题 问题F&#xff1a;减少非法野生动物贸易 非法的野生动物贸易会对我们的环境产生负面影响&#xff0c;并威胁到全球的生物多样性。据估计&#xff0c;它每年涉及高达265亿美元&#xff0c;被认为是全球第四大非法交易。[1]你将开发一个由数据驱动的5年项目&#xff0c…

git命令远程仓库推送本地项目报错了,解决方案

如果你在使用git命令上传本地项目到远程仓库遇到了如下错误&#xff1a; Updates were rejected because the tip of your current branch is behind。n 别慌&#xff0c;肯定是你的远程仓库里面有原始文件&#xff0c;需要你提前进行一下合并操作&#xff0c;然后才能使用pu…

flash芯片最新详解

Flash芯片是一种非易失性存储器&#xff08;Non-Volatile Memory, NVM&#xff09;&#xff0c;也就是说&#xff0c;即使在断电后&#xff0c;存储在其中的数据也不会丢失。其工作原理基于电荷俘获效应&#xff0c;通过控制电压使存储单元的浮动栅极上捕获或释放电荷来实现数据…

[AHOI2008] 紧急集合 / 聚会

[AHOI2008] 紧急集合 / 聚会 题目描述 欢乐岛上有个非常好玩的游戏&#xff0c;叫做“紧急集合”。在岛上分散有 n n n 个等待点&#xff0c;有 n − 1 n-1 n−1 条道路连接着它们&#xff0c;每一条道路都连接某两个等待点&#xff0c;且通过这些道路可以走遍所有的等待点…

离线数仓-数据治理

目录 一、前言 1.1 数据治理概念 1.2 数据治理目标 1.3 数据治理要解决的问题 1.3.1 合规性 元数据合规性 数据质量合规性 数据安全合规性 1.3.2 成本 存储资源成本 计算资源成本 二、数据仓库发展阶段 2.1 初始期 2.2 扩张期 2.3 缓慢发展期 2.4 变革期 三、…

华为机考入门python3--(5)牛客5-进制转换

分类&#xff1a;数字 知识点&#xff1a; 十六进制转int num int(hex_num, 16) int转十六进制 hex_num hex(num) 题目来自【牛客】 hex_num input().strip() dec_num int(hex_num, 16) print(dec_num) by 软件工程小施同学

挖矿系列:细说Python、conda 和 pip 之间的关系

继续挖矿&#xff0c;挖金矿&#xff01; 1. Python、conda 和 pip Python、conda 和 pip 是在现代数据科学和软件开发中常用的工具&#xff0c;它们各自有不同的作用&#xff0c;但相互之间存在密切的关系&#xff1a; Python&#xff1a;是一种解释型、面向对象的高级程序设…

国产UOS操作系统rename用法

Linux系统里面有一个超级好用的rename命令&#xff0c;可以批量修改文件名 使用方法rename 被替换字符串 替换后字符串 哪些文件

redis基本数据结构介绍

Redis&#xff08;Remote Dictionary Server&#xff09;是一个开源的高性能键值对数据库&#xff0c;它支持多种数据结构&#xff0c;包括字符串、哈希、列表、集合、有序集合等。这些数据结构为开发者提供了丰富的数据操作方式&#xff0c;使得Redis在缓存、消息队列、排行榜…