项目需要实现一个展示list自动滚动显示
实现方式:
利用
this.refList=React.createRef(); //这个指向list
获取到该节点
定时器和this.refList.current.scrollTo(0,scrollpx)来每次+1px的滚动
class MyPt extends React.Component<IProps> {
private refList: React.RefObject<any>;
constructor(props:any){
super(props)
this.refList=React.createRef(); //这个指向list
}
public listMarquee(){
let scrollPx=0;
this.listScroll=setInterval(()=>{
scrollPx+=1;
if(scrollpx>this.refList.current.scrollHeight){
this.refList.current.scrollTo(0,0);
}else{
this.refList.current.scrollTo(0,scrollpx);
}
}),90}
}
render(): React.ReactElement<any, string | React.JSXElementConstructor<any>> | string | number | {} | React.ReactNodeArray | React.ReactPortal | boolean | null | undefined {
return <div>
<list data={data} ref={this.refList}/>
</div>
}