javascript - 在绘制新表格页面之前滚动到视图触发器(具有副作用的事件处理程序)
问题描述
功能:带分页的用户历史表(表数据在一次 API 调用中加载,FE 处理分页)。 副作用:在表格页面更改时滚动到表格标题。
问题:
如果滚动在新表格页面绘制之前触发(并且表格的高度不同),则滚动不起作用。
似乎选项 A 或 B 都可以工作,但我不确定跨操作系统/浏览器环境的效果如何。有没有人对此有经验......或者超时与承诺解决这个问题的利弊?选项 C?
const onPageChange = page => {
// Original
dispatch(setCurrentPage(page));
scrollToRef(tableHeaderRef, 'start');
// Option A
// dispatch(setCurrentPage(page));
// setTimeout(() => scrollToRef(tableHeaderRef, 'start'), 100);
// Option B (does this need a catch?)
// new Promise(resolve => {
// dispatch(setCurrentPage(page));
// resolve();
// }).then(() => scrollToRef(tableHeaderRef, 'start'));
// Option C?
};
解决方案
推荐阅读
- python - Python - Tkinter 和 OOP
- javascript - 我是否必须将所有代码保留在我制作的第一个 db.query 中(mysql 和 nodejs)?
- html - Sublime text 3 浏览器同步不工作,没有动作。当我点击启动选项
- swiftui - 主视图中 ScrollView 的位置不一致
- python - 从pdfplumber中提取后如何删除英文单词之间的空格
- reactjs - reactjs formik文件上传
- javascript - 无法在 cypress 中集成 javascript DNS 库
- android - Jetpack Compose Canary Android Studio 启动失败
- python - 在 Django 中,如何在任一主键上创建连接?
- google-sheets - 我想找出不在两个选项卡中的名称