react项目中ant-ui表格用下拉滚动条加载数据

本文介绍了如何在React应用中使用ResizeableTable组件,通过滚动监听实现表格自动加载更多数据,当用户接近表格底部时触发数据接口。同时提及了前端开发中的JavaScript学习建议和一套全面的学习资源链接。
摘要由CSDN通过智能技术生成

import ResizeableTable from “@app/utils/reactResizable/Resizeable”

class AccelerateAll extends Component{

render(){

const columns = […]

const tableData= […]

//为了初始化时,表格能填充屏幕展示,设置了动态高,(可视区域高度 - 已知固定高度)

const yscroll = document.body.clientHeight - 120

return(

<ResizeableTable

scroll={{ y:yscroll }}

columns={columns} //表头数据

dataSource={tableData} //内容数据

/>

)

}

}

第二步:监控滚动条,在快到达底部时触发回调


在上面代码上我们继续操作,如下:

import ResizeableTable from “@app/utils/reactResizable/Resizeable”

class AccelerateAll extends Component{

//加载表格数据函数

loadMoreData = ()=> {

//这里做判断,如果 数据总数 >目前表格数据总数 时,下拉时触发表格数据接口函数

//数据总数 = 目前表格数据总数 时,不再调数据接口函数

if(total>tableData.length){

this.searchAcceleratorAll(value) //加载数据接口函数

}

}

onScrollHandle = () => {

const table = ReactDOM.findDOMNode(this.table);

// 获取表格dom元素

const tableBody = table.querySelector(‘.ant-table-body’);

// 容器可视区高度

const tableBodyHeight = tableBody.clientHeight;

// 内容高度

const contentHeight = tableBody.scrollHeight;

// 距离顶部的高度

const toTopHeight = tableBody.scrollTop;

// 当距离底部只有0.5时,重新获取数据

if (contentHeight - (toTopHeight + tableBodyHeight) < 0.5) {

// 加载数据, 其实这里还可以进行进一步的判断,判断页面是否允许发起请求,

// 如:数据已经是最后一页了,没有必要再发起请求

this.loadMoreData() //加载表格数据函数

}

}

render(){

const columns = […]

const tableData= […]

//为了初始化时,表格能填充屏幕展示,设置了动态高,(可视区域高度 - 已知固定高度)

const yscroll = document.body.clientHeight - 120

return(

className=“Accelerate-table”

onScrollCapture={this.onScrollHandle} //在表格外部div上绑定滚动监控事件
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(资料价值较高,非无偿)

最后

javascript是前端必要掌握的真正算得上是编程语言的语言,学会灵活运用javascript,将对以后学习工作有非常大的帮助。掌握它最重要的首先是学习好基础知识,而后通过不断的实战来提升我们的编程技巧和逻辑思维。这一块学习是持续的,直到我们真正掌握它并且能够灵活运用它。如果最开始学习一两遍之后,发现暂时没有提升的空间,我们可以暂时放一放。继续下面的学习,javascript贯穿我们前端工作中,在之后的学习实现里也会遇到和锻炼到。真正学习起来并不难理解,关键是灵活运用。

资料领取方式:点击这里获取前端全套学习资料

css源码pdf

JavaScript知识点
并不难理解,关键是灵活运用。

资料领取方式:点击这里获取前端全套学习资料

[外链图片转存中…(img-BUA1TzmS-1711721258683)]

[外链图片转存中…(img-51O06zmQ-1711721258683)]

  • 11
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先需要安装@ant-design/plots和echarts: ``` npm install @ant-design/plots echarts ``` 然后在React组件引入需要的组件和数据源,例如: ```jsx import React from 'react'; import { MixChart } from '@ant-design/charts'; import * as echarts from 'echarts'; const data = [ { year: '1991', value: 3 }, { year: '1992', value: 4 }, { year: '1993', value: 3.5 }, { year: '1994', value: 5 }, { year: '1995', value: 4.9 }, { year: '1996', value: 6 }, { year: '1997', value: 7 }, { year: '1998', value: 9 }, { year: '1999', value: 13 } ]; const MixChartDemo = () => { const config = { width: 800, height: 400, appendPadding: 10, renderer: 'canvas', tooltip: { showMarkers: false, showTitle: false }, legend: { layout: 'horizontal', position: 'top' }, xAxis: { type: 'cat', label: { rotate: -45 } }, yAxis: { min: 0, max: 15 }, series: [ { type: 'line', smooth: true, data: data.map(item => ({ ...item, type: 'line' })), lineStyle: { width: 2 }, label: { position: 'top', formatter: ({ value }) => value.toFixed(1) } }, { type: 'bar', data: data.map(item => ({ ...item, type: 'bar' })), label: { position: 'top', formatter: ({ value }) => value.toFixed(1) } } ], data }; return <MixChart {...config} echarts={echarts} />; }; export default MixChartDemo; ``` 这里我们使用了@ant-design/plots的`MixChart`组件来实现线图和柱状图的混合图表,并使用了echarts作为底层渲染引擎。我们指定了图表的宽高、渲染器、坐标轴、图例和系列等配置,同时将数据源传递给了`data`属性。 最后,在渲染的时候,我们将echarts对象传递给`echarts`属性,这样就可以在React使用了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值