在我的 UI5 应用程序中,如果我滚动到一个页面的底部,然后移动到另一个页面,然后再次返回到上一页,则 View 位于页面的底部。也就是说,该页面的最后滚动位置被保留,我必须再次向上滚动才能看到顶部。我想每次访问时都从顶部显示该页面。
有什么建议吗?
<Page id="page" showHeader="false">
<VBox height="2000px">
<core:Fragment fragmentName="ABC" type="XML" />
<core:Fragment fragmentName="PQR" type="XML" />
</VBox>
</Page>
return BaseController.extend("....somePage", {
onInit: function() {
// .....
},
_onObjectMatched: function(oEvent) {
this.getView().byId("page").scrollTo(0); // even this is not working
window.scrollTo(0,0); // did not work
},
// ...
});
最佳答案
您是否尝试过 sap.m.Page 的 scrollTo
或 scrollToElement
方法?如果这样做,请确保将 enableScrolling
属性设置为 true。我在下面添加了一个小示例。
查看
<Page id="page" title="ScrollPage" enableScrolling="true">
<!-- your content-->
</Page>
Controller
这将在您每次访问该页面时触发滚动功能。
onInit: function() {
const route = this.getOwnerComponent().getRouter().getRoute("thisPage");
route.attachPatternMatched(this.onPagePatternMatched, this);
},
onPagePatternMatched: function() {
this.byId("page").scrollTo(0);
},
关于sapui5 - 如何在每次显示页面时滚动到顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51759907/