We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
目前找到了一种临时绕过的方案:考虑到特定条件ii,将onDragSortEnd方法中导致表格需要重新渲染的操作(例如各种setState操作)包裹在setTimeout中放至下一个tick执行,可以暂时解决该问题。
特定条件ii
onDragSortEnd
setTimeout
官方示例中的第一个示例就可以复现该问题:拖拽表格中第一项或第二项靠近页面底端,在页面滚动时松开鼠标结束拖拽,即可看到页面持续向下滚动。(不能是最后一项,因为不满足特定条件ii)
当表格中条目数量较多时,更容易复现该问题。我从官网第一个示例的sandbox中fork了一个,并将表格中的条目添加至100项,更容易复现问题,可以在condesanbox中查看。
不出现持续滚动的情况。
详见condesanbox。
贴一段临时解决方案的实现:
const handleDragSortEnd = ( beforeIndex: number, afterIndex: number, newDataSource: any ) => { console.log("排序后的数据", newDataSource); // 问题:当拖拽某一行靠近页面底部,页面会开始向下滚动,在页面向下滚动的过程中释放时,会导致页面持续向下滚动。类似的,也会出现持续向上滚动的情况。(当表格较长时,更容易出现在滚动过程中释放的情况,因而更容易复现该问题) // 临时绕过该问题的解决方案:把会导致表格重新渲染的代码放到下一个tick再运行 // 不会导致持续滚动 // setTimeout(() => { // setDataSource(newDataSource); // }); // 会导致持续滚动 setDataSource(newDataSource); message.success("修改列表排序成功"); };
The text was updated successfully, but these errors were encountered:
No branches or pull requests
🐛 bug 描述
目前找到了一种临时绕过的方案:考虑到
特定条件ii
,将onDragSortEnd
方法中导致表格需要重新渲染的操作(例如各种setState操作)包裹在setTimeout
中放至下一个tick执行,可以暂时解决该问题。📷 复现步骤
官方示例中的第一个示例就可以复现该问题:拖拽表格中第一项或第二项靠近页面底端,在页面滚动时松开鼠标结束拖拽,即可看到页面持续向下滚动。(不能是最后一项,因为不满足
特定条件ii
)当表格中条目数量较多时,更容易复现该问题。我从官网第一个示例的sandbox中fork了一个,并将表格中的条目添加至100项,更容易复现问题,可以在condesanbox中查看。
🏞 期望结果
不出现持续滚动的情况。
💻 复现代码
详见condesanbox。
贴一段临时解决方案的实现:
© 版本信息
🚑 其他信息
The text was updated successfully, but these errors were encountered: