Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Extjs 当存储加载时,如何阻止Sencha触摸列表将视图更改为第一条记录?_Extjs_Sencha Touch 2.3 - Fatal编程技术网

Extjs 当存储加载时,如何阻止Sencha触摸列表将视图更改为第一条记录?

Extjs 当存储加载时,如何阻止Sencha触摸列表将视图更改为第一条记录?,extjs,sencha-touch-2.3,Extjs,Sencha Touch 2.3,我有一个Sencha Touch无限列表(刷新时滚动到顶部设置为false)的聊天信息–最新的在底部。加载存储时,列表总是将视图刷新到第一条记录,即最上面的记录,即最早的聊天信息。我可以在刷新时将列表滚动到底部,但这会在视图刷新后滚动列表,这意味着列表会从上到下滚动。我想要的行为是,当存储加载时,列表应该从当前视图滚动到底部–因此,如果由于存储加载而仅添加了一条消息,我希望列表仅滚动一条记录的高度 当我执行list.getStore().add()时,行为非常好;然后是列表滚动到底部,但加载存储

我有一个Sencha Touch无限列表(刷新时滚动到顶部设置为false)的聊天信息–最新的在底部。加载存储时,列表总是将视图刷新到第一条记录,即最上面的记录,即最早的聊天信息。我可以在刷新时将列表滚动到底部,但这会在视图刷新后滚动列表,这意味着列表会从上到下滚动。我想要的行为是,当存储加载时,列表应该从当前视图滚动到底部–因此,如果由于存储加载而仅添加了一条消息,我希望列表仅滚动一条记录的高度

当我执行list.getStore().add()时,行为非常好;然后是列表滚动到底部,但加载存储时不是这种情况。当存储加载时,获得相同效果的最佳方法是什么?本质上,我不希望视图重置为列表的顶部,而只是从当前视图所在的位置滚动到底部


请帮忙!谢谢

您可能想使用
list.scrollToRecord(store.getAt(store.getCount()-1))
在配置中尝试
scrollToTopOnRefresh:false
在什么时候调用它?我试着在刷新时这样做,但在列表重置后向下滚动列表,一直滚动到顶部。我希望列表不会重置视图,而只是从它当前所在的视图向下滚动到底部。您只能尝试使用
store.load({addRecords:true})
。如果你不使用addRecords,首先清除存储区,列表中包含零项,然后重新填充。嗨@Alexander,我试过了,但似乎不起作用。它总是重置到顶部,然后向下滚动到底部。还有其他想法吗?