我的下拉列表中有很多复选框,因此此容器具有滚动功能。但是,当我单击任何复选框时,它会自行选择\取消选择,然后更改状态。
所以问题在于重新渲染后,此容器又回到了顶部。可以在渲染后保持容器的滚动而不将其保存到状态吗?
答案 0 :(得分:1)
您可以在提交阶段之前保存滚动位置的“快照”。
getSnapshotBeforeUpdate()显示您正在寻找的种类。
该文档示例将当前滚动位置保存在getSnapshotBeforeUpdate
生命周期方法中,然后将传递给snapshot
的{{1}}值用作恢复滚动位置的最后一个参数。
不需要创建状态来保存滚动位置。
答案 1 :(得分:0)
之所以发生,是因为您要重新渲染复选框的完整列表。
有2种可能的方法:
不幸的是,您尚未添加任何代码示例,因此无法共享代码更改。