export function onListLoaded(args: RadListwModule.ListViewEventData) {
list = <RadListwModule.RadListView>args.object;
if (list.items) {
list.scrollToIndex(roversViewModel.get("cachedIndex"));
}
list.refresh();
}
export function onItemTap(args: RadListwModule.ListViewEventData) {
var tappedItemIndex = args.itemIndex;
// "cache" the index of our tapped item
roversViewModel.set("cachedIndex", tappedItemIndex);
// navigate to details page or do what you want to do on itemTap
frame.topmost().navigate(navEntry);
}
1 回答
您可以使用可观察的ViewModel缓存索引并在需要时传递它(在这种情况下,在列表的 loaded 事件中 - 即用户将返回列表页面并且列表将加载时)
例如打字稿
page.ts
page.xml
第一次加载列表时也要给你的cachedIndex initial value of 0 .
基于this POC app的示例 . 请注意,与滚动到完全y位置不完全相同,但您可以修改逻辑并进一步滚动到精确位置,同时获取单元格相对位置偏移 .