保留页面的滚动位置

时间:2015-01-30 15:21:53

标签: sapui5

我有一个包含许多元素(表单和表格)的页面 当我想在表格中添加一行时,我将页面滚动到表格,我按一个按钮添加一行,在弹出窗口中编辑信息并按OK。

enter image description here

然后我在模型中插入新行并在模型中插入refresh()。 此时页面自动滚动到顶部,但我不想要这种行为! 我希望页面保持在同一个Y位置! 我看到sap.m.page有scrollTo函数https://openui5.hana.ondemand.com/docs/api/symbols/sap.m.Page.html#scrollTo 但我不知道如何在refresh()

之前采取立场

2 个答案:

答案 0 :(得分:1)

遗憾的是,该页面没有API来获取当前的滚动位置,但我们认为这个想法很好。

作为一种解决方法,您可以访问该页面的某些私有方法 - 但前提是您接受它与未来版本的UI5相关的风险: page.getScrollDelegate().getScrollTop() 为了使其更安全,您应该在调用它们之前验证这两种方法,并检查返回值是否合理。那么你是非常安全的,在最坏的情况下,它将在未来的UI5版本中再次滚动到顶部。

答案 1 :(得分:1)

您必须填写scrollTo函数中的srollTo(100, 1)参数 - 例如0 - 然后它有效 使用iTime update()无效