reactjs - 重新渲染后保持滚动
问题描述
我有很多复选框的下拉列表,所以这个容器有滚动。但是当我点击任何复选框时 - 它会选择\取消选择自身,然后状态发生变化。
所以问题是重新渲染后这个容器又回到了顶部。是否可以在渲染后保持容器的滚动而不将其保存到状态?
解决方案
您可以在提交阶段之前保存滚动位置的“快照”。
getSnapshotBeforeUpdate()显示您正在寻找的内容。
文档示例将当前滚动位置保存在getSnapshotBeforeUpdate
生命周期方法中,然后使用snapshot
传递给的值componentDidUpdate(prevProps, prevState, snapshot)
作为最后一个参数来恢复滚动位置。
它不需要创建状态来按您的要求保存滚动位置。
推荐阅读
- c# - Metro UI 控件未显示在表单上,而是显示为组件
- python - 完成后可以返回for循环吗?
- c++ - 更改浮点舍入模式
- c# - 如何使用 MVVM 将 UserControl 参数传递给 ViewModel
- r - 在 reactive() 下使用多个 RenderUI
- jquery - 如何将字段添加到默认的 KendoGrid 弹出菜单?
- rabbitmq - RabbitMQ - 应用程序未在 Windows 10 Home 中启动
- python - 如何使用 matplotlib 使用 groubby 绘制数据
- python - How can I solve variables in pandas dataframe?
- c# - 是否可以解析运行时派生类 T 值的“ObjectResult”基础的“StatusCode”?