-
Notifications
You must be signed in to change notification settings - Fork 598
New issue
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
scrollToIndex在DataSource改变之后跳转不正确 #202
Comments
v2.1.8 已修复。 |
抱歉,更新后试用了一下,发现还是有点问题。 跟踪了一下代码,发现在根据index计算offset,逐个遍历index的时候,如果是sizes这个map里没有的id,会用firstRangeAverageSize这个值。但是这个值我看了一下不是很对,我的列表每一项都是固定高度,而且也设置了estimate-size为准确值,但是这个firstRangeAverageSize的值好像是vue-virtual-scroll-list控件在页面中的实际高度,因此offset逐项加起来的时候最终offset会比实际高很多。 如果我事先滚动到要跳转的index,此时sizes里面需要的id的高度都有了,跳转就不会有上述问题。 感谢作者麻烦再看一下。🤝 @tangbc |
如果每一项都是固定高度那 firstRangeAverageSize 就一直是正确值,如发现不正确贴下代码或者截图看看。 |
@tangbc
麻烦抽空看下。 |
不应该简单粗暴直接 return 掉,这样的话某个 id 高度的变化就无法更新了。 总的来说,还是希望能具体描述下如何复现,最好 fork 一个 demo https://codesandbox.io/s/live-demo-virtual-list-e1ww1。 |
你说的“总高度重复计算”是指 |
对,我看代码 我现在的场景就是整个dataSources都更新了,触发了高度改变的事件,进入到 如果你那边还无法重现的话我稍后在你那个demo里看看能不能复现,感谢。 |
可以复现:https://codesandbox.io/s/live-demo-virtual-list-4wbnp 操作步骤是这样的: 第一种稍微正常的情况:进去直接点jump432,这个时候会跳到400多,但是不是432,我不知道这样算不算正常; 第二种情况异常情况:先刷新页面,进去点击几次addNum,多次改变dataSource,再点jump432,这个时候会跳到900+。 |
v2.1.9 已发布修复。 基于你的 demo 更新了 npm 版本:https://codesandbox.io/s/live-demo-virtual-list-50f77 |
如题,我使用的是目前最新2.1.7的版本。
在DataSource没有改变之前调用scrollToIndex函数跳转是OK的,但是当改变了DataSource,比如删除某些数组项,我再调用这个函数,传入了新的index,那么就会跳转到不是这个index的另外一个index上。
麻烦看一下。
The text was updated successfully, but these errors were encountered: