bee-table7/demo/demolist/Demo1401.js

90 lines
2.0 KiB
JavaScript
Raw Normal View History

2018-12-21 09:58:52 +08:00
/**
*
2019-04-18 10:50:38 +08:00
* @title 万行以上数据渲染
* @parent 无限滚动 Infinite-scroll
2019-04-16 13:35:25 +08:00
* @description 万行数据渲染
2019-04-23 20:11:38 +08:00
* demo1401
2018-12-21 09:58:52 +08:00
*/
2019-03-20 17:44:05 +08:00
import React, { Component } from "react";
import {Tooltip} from "tinper-bee";
import Table from "../../src";
import BigData from "../../src/lib/bigData";
const BigDataTable = BigData(Table);
const columns = [
{
title:'序号',
dataIndex:'index',
width:'60',
2019-03-20 17:44:05 +08:00
key:'index',
render:(text,record,index)=>{
return index
}
},
{
title: "用户名", dataIndex: "a", key: "a", width: 580, className: "rowClassName",
render: (text, record, index) => {
return (
<Tooltip inverse overlay={text}>
<span tootip={text} style={{
2019-04-25 14:12:43 +08:00
display: "block",
2019-05-17 10:20:44 +08:00
width: "40px",
2019-03-20 17:44:05 +08:00
textOverflow: "ellipsis",
overflow: "hidden",
whiteSpace: "nowrap",
2019-04-25 14:12:43 +08:00
verticalAlign: "bottom",
2019-03-20 17:44:05 +08:00
}}>{text}</span>
</Tooltip>
);
}
},
{ id: "123", title: "性别", dataIndex: "b", key: "b", width: 80},
{ title: "年龄", dataIndex: "c", key: "c", width: 200 }
2019-03-19 11:13:10 +08:00
2019-03-20 17:44:05 +08:00
];
2018-12-21 09:58:52 +08:00
2019-03-20 17:44:05 +08:00
const data = [ ...new Array(10000) ].map((e, i) => {
const rs = { a: i + 'a', b: i + 'b', c: i + 'c', d: i + 'd', key: i };
if(i%3==0){
rs.b = '女';
}
return rs;
})
2018-12-21 09:58:52 +08:00
2019-03-20 17:44:05 +08:00
class Demo30 extends Component {
2018-12-21 09:58:52 +08:00
constructor(props) {
super(props);
this.state = {
2019-03-20 17:44:05 +08:00
data: data,
selectedRowIndex: 0
2018-12-21 09:58:52 +08:00
}
}
/**
* 表体滚动加载时触发的回调函数
* @param endIndex 可视区最后一条数据的 index 序号
*/
handleBodyScroll = endIndex => {
console.log('endIndex', endIndex);
}
2018-12-21 09:58:52 +08:00
render() {
2019-03-20 17:44:05 +08:00
return (
<div>
2019-03-20 17:44:05 +08:00
<BigDataTable
columns={columns}
data={this.state.data}
2019-03-20 17:44:05 +08:00
scroll={{y:300}}
onRowClick={(record, index, indent) => {
console.log('currentIndex--'+index);
}}
onBodyScroll={this.handleBodyScroll}
2019-03-20 17:44:05 +08:00
/>
</div>
2019-03-20 17:44:05 +08:00
);
2018-12-21 09:58:52 +08:00
}
}
2019-03-20 17:44:05 +08:00
export default Demo30;