页面保留UI5应用程序中的最后一个滚动位置

时间:2018-08-09 06:09:19

标签: sapui5

在我的UI5应用程序中,如果我滚动到一页的底部然后移动到另一页,然后再次返回到上一页,则该视图位于该页的底部。也就是说,该页面的最后滚动位置被保留,我必须再次向上滚动才能看到顶部。我想在每次访问时从顶部显示页面。 有什么建议吗?

<Page  enableScrolling="true" id="page" class="sapUiContentPadding" showHeader="false">
    <content>
        <VBox height="2000px">
            <core:Fragment fragmentName="ABC" type="XML"/>
            <core:Fragment fragmentName="PQR" type="XML"/>
        </VBox>
    </content>
</Page>

Controller.js

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

1 个答案:

答案 0 :(得分:2)

您是否尝试过sap.m.PagescrollToscrollToElement方法?如果这样做,请确保将enableScrolling属性设置为true。我在下面添加了一个小例子。

查看

    <Page id="page" title="ScrollPage" enableScrolling="true">
            <content>
                // your content
            </content>
        </Page>

控制器

这将在您每次访问页面时触发滚动功能。

    onInit: function() {
        sap.ui.core.UIComponent.getRouterFor(this).attachRouteMatched(this.onScroll, this);
    },

    onScroll: function() {
        this.byId("page").scrollTo(0);
    },