我有很多复选框的下拉列表,所以这个容器有滚动。但是当我点击任何复选框时 - 它会选择\取消选择自己,然后状态发生变化。
所以问题是在重新渲染后这个容器又回到了顶部。渲染后是否可以保持容器的滚动而不将其保存到状态?
我有很多复选框的下拉列表,所以这个容器有滚动。但是当我点击任何复选框时 - 它会选择\取消选择自己,然后状态发生变化。
所以问题是在重新渲染后这个容器又回到了顶部。渲染后是否可以保持容器的滚动而不将其保存到状态?
您可以在提交阶段之前保存滚动位置的“快照”。
getSnapshotBeforeUpdate()显示了您正在寻找的类型。
文档示例在getSnapshotBeforeUpdate
生命周期方法中保存当前滚动位置,然后使用snapshot
传递给的值componentDidUpdate(prevProps, prevState, snapshot)
作为最后一个参数来恢复滚动位置。
它不需要根据您的要求创建状态来保存滚动位置。
这是因为您正在重新呈现复选框的完整列表。
有两种可能的方法:
不幸的是,您尚未添加任何代码示例,因此无法共享代码更改。