react中使用antd Table组件滚动加载数据的实现
废话不多说,直接上代码。一目了然。
import React, { Component } from "react";
import { Table } from "antd";
import PropTypes from "prop-types";
class TableBar extends Component {
constructor(props) {
super(props);
this.onScrollEvent = this.onScrollEvent.bind(this);
}
onScrollEvent() {
if (this.scrollRef.scrollTop + this.scrollRef.clientHeight ===
this.scrollRef.scrollHeight) {
console.info('到底了!');
// 这里去做你的异步数据加载
}
}
render() {
const {
dataSource,
columns,
loading,
pagination,
isBordered,
onRowClickCb,
scroll,
titleCb,
footerCb,
rowSelection,
rowKey
} = this.props.config;
return (
<div
onScrollCapture={() => this.onScrollEvent()}
style={{ height: '200px', overflowY: 'scroll' }}
ref={c => {
this.scrollRef = c;
}}
>
<Table
dataSource={dataSource}
columns={columns}
rowKey={rowKey?rowKey:record => record.id}
loading={loading}
pagination={pagination}
rowSelection={rowSelection}
bordered={isBordered}
scroll={scroll}
onRowClick={onRowClickCb}
title={titleCb}
footer={ footerCb}
/>
</div>
);
}
}
TableBar.propTypes = {
config: PropTypes.shape({
dataSource: PropTypes.array,
columns: PropTypes.array.isRequired,
loading: PropTypes.bool,
isBordered: PropTypes.bool,
scroll: PropTypes.object,
onRowClickCb: PropTypes.func,
titleCb: PropTypes.func,
footerCb: PropTypes.func,
rowSelection: PropTypes.object,
pagination: PropTypes.oneOfType([PropTypes.object, PropTypes.bool])
})
};
export default TableBar;
借鉴地址:https://segmentfault.com/q/1010000016507297/a-1020000016507798
react中使用antd Table组件滚动加载数据的实现的更多相关文章
- vue2.0无限滚动加载数据插件
做vue项目用到下拉滚动加载数据功能,由于选的UI库(element)没有这个组件,就用Vue-infinite-loading 这个插件代替,使用中遇到的一些问题及使用方法,总结作记录! 安装: ...
- PHP+InfiniteScroll实现网页无限滚动加载数据实例
PHP+InfiniteScroll实现网页无限滚动加载数据实例,实现原理:当滚动条到底离网页底部一定长度的时候,向后台发送页数并获取数据. 首先我们在页面上先放置10条数据,即第一页,每一项都是p标 ...
- Vue无限滚动加载数据
Web项目经常会用到下拉滚动加载数据的功能,今天就来种草Vue-infinite-loading 这个插件,讲解一下使用方法! 第一步:安装 npm install vue-infinite-load ...
- jquery ajax 滚动加载数据
jquery php 滚动加载数据(文件包 rollingpage) 效果如下: 页面加载时候($function(){ 自动加载第一页数据 }) 设置: var winH = $(window).h ...
- 基于jquery鼠标或者移动端滚动加载数据
基于jquery鼠标或者移动端滚动加载数据 var stop = true; // 防止重复请求数据 $(window).scroll(function () { totalheight = pars ...
- h5页面列表滚动加载数据
h5列表滚动加载数据很常见,以下分享下今天做的案例: 前言 这个效果实现需要知道三个参数 1. scrollTop -- 滚动条距离顶部的高度 2. scrollHeight -- 当前页面的总高度( ...
- AngularJS 无限滚动加载数据控件 ngInfiniteScroll
在开发中我们可能会遇到滚动鼠标到浏览器底部实现数据的加载,js和jquery实现都不复杂都是既然AngularJS提供现成的我们怎么不用昵. ng-infinite-scroll.js这个组件则可以实 ...
- HTML5商城开发一 楼层滚动加载数据
对于楼层加载在以前只是个想法,从来没实现过,刚好项目中碰到,再此总结一下 场景:HTML5,局部商品列表信息滚动(局部滚动条) 1.通过jq设置subCategoryScroll的高度为屏幕显示高度( ...
- infinite-scroll插件无限滚动加载数据的使用
网上对于infinite-scroll插件使用的例子不多.但由于它的出现,鼓吹了瀑布流形式的页面展示方式,所以不得不了解了解这种新的分页方式. 官网上有对infinite-scroll的详细描述,但一 ...
随机推荐
- java 之 dom4j解析xml
*dom4j,是一个组织,针对xml解析,提供解析器dom4j *dom4j不是javase的一部分,想要使用需要导入dom4j提供的jar包 *第一步:创建lib文件夹,将压缩文件放到此处 *第二步 ...
- vue中find函数
let obj = this.role.find(v => v.code === res.company.role)循环 data对象中的role数组 ,每个数组元素用v代替,code为他的键, ...
- python时间
#!/usr/bin/python # -*- coding: utf-8 -*- import sys import time import datetime line="Wed 11/2 ...
- poi导出excel 并处理插入网络图片 范例 处理文件下载中文乱码
package com.inborn.inshop.controller.product; import com.inborn.inshop.common.util.DateUtils;import ...
- PHP中SESSION自定义会话管理器
<?php class CustomSession implements SessionHandlerInterface{ private $link; private $lifetime; p ...
- Spring-json依赖
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jacks ...
- _attribute_character
职业属性控制表 comment 备注 classI ...
- xxx did not match any file(s) known to git
切换分支的时候,报了标题这么个错误,error: pathspec ''xxx did not match any file(s) known to git. 看见不能切换分支,我首先 git sta ...
- .NET扩展方法 封装公用方法
定义方法的时候 第一个参数前面加上this 表示这个方法可以被IQueryable类型的对象.出来 调用的时候 只用传第二个参数 第一个参数不用传 第一个参数就是.出当前方法的参数 定义扩展 ...
- aar的使用(module或者library)
引入: 1. android studio正常的module引用aar文件需要配置如下: ① 在module的build.gradle的android节点下 repositories { flatDi ...