我有一个像这样的JSON模型:
[
{code:'01', descr:'descr 01'},
{code:'02', descr:'descr 02'},
{code:'03', descr:'descr 03'},
{code:'04', descr:'descr 04'},
{code:'05', descr:'descr 05'},
{code:'06', descr:'descr 06'},
{code:'07', descr:'descr 07'},
{code:'08', descr:'descr 08'},
{code:'09', descr:'descr 09'},
{code:'10', descr:'descr 10'}
]
我在列表https://sapui5.hana.ondemand.com/docs/api/symbols/sap.m.List.html
中显示数组我使用列表(在对话框中,但这并不重要)使用户选择要在输入字段中设置的值。 我不使用ODATA,但我使用rest方法来检索列表。 我使用服务器端分页来检索数据块;例如:
当我打开列表时,我打电话
getHints, {from:1, to 10}
服务器以前10条记录发回列表,我在列表中正确显示它们。
然后我滚动列表,当我结束时,事件updateFinished运行,我调用接下来的10条记录:
getHints, {from:11, to 20}
并且服务器发回
[
{code:'11', descr:'descr 11'},
{code:'12', descr:'descr 12'},
{code:'13', descr:'descr 13'},
{code:'14', descr:'descr 14'},
{code:'15', descr:'descr 15'},
{code:'16', descr:'descr 16'},
{code:'17', descr:'descr 17'},
{code:'18', descr:'descr 18'},
{code:'19', descr:'descr 19'},
{code:'20', descr:'descr 20'}
]
在回调中,我在JSONModel中推送记录,我现在在列表中有20条记录,但我有一个奇怪的行为:
滚动条返回顶部 ,在此模式下,用户没有流畅的滚动。
如何解决我的奇怪问题?
PS。 我在这种模式下更新我的模型:
var aElements=oModel.getProperty('/elements');
_.map(p_serverData.data.lookup, function (oElement) {
var oHintElement = {};
oHintElement.code = oElement.code;
oHintElement.description = oElement.descr;
aElements.push(oHintElement);
});
oModel.setProperty('/elements', aElements);