this.state = {
lists: [{
time: '2018/08/16',
desc: '月度加分',
score: '+5'
}, {
time: '2018/08/16',
desc: '月度加分',
score: '+5'
}, {
time: '2018/08/16',
desc: '月度加分',
score: '+5'
}, {
time: '2018/08/16',
desc: '月度加分',
score: '+5'
},{
time: '2018/08/16',
desc: '月度加分',
score: '+5'
}]
};
handleScroll = () => {
let res=this.myRef.scrollHeight - this.myRef.clientHeight- this.myRef.scrollTop;
console.log(res);
//>0 || >1
if (res>1) {
//未到底
} else {
//已到底部
this.loadMoreDataFn();
}
}
loadMoreDataFn = (that) => {
//请求更多数据
this.setState({
lists: this.state.lists.concat([{
time: '2018/08/16',
desc: '月度加分',
score: '+5'
}, {
time: '2018/08/16',
desc: '月度加分',
score: '+5'
}, {
time: '2018/08/16',
desc: '月度加分',
score: '+5'
}, {
time: '2018/08/16',
desc: '月度加分',
score: '+5'
}])
});
}
<div className='lists' ref={e=>{this.myRef=e;}} onScroll={this.handleScroll}>
{
state.lists.map((item, key) => {
return (
<Row className='item' key={key}>
<Col span={10}>{item.time}</Col>
<Col span={10}>{item.desc}</Col>
<Col span={4}>{item.score}</Col>
</Row>
);
})
}
</div>
.lists{
height: 240px;
overflow: hidden auto;
&>.item{
font-size: 16px;
color: #000000;
padding: 21px 25px 15px;
&>.ant-col:nth-child(3){
text-align: center;
color: #009C2A;
}
.red{
color: #FF0000;
}
}
&>.item:nth-child(even){
background: #F9F9F9;
}
}