我有一个sap.m.List,其中包含绑定到模型的项的聚合。
如果我为列表中的单个项目加载新数据,并用新项目替换模型中的项目,我的聚合会自动更新(注意:我已经从后端收到数据,它只是来自这里的JavaScript。)
这是我的清单的简化描述:
var oList = new sap.m.List( {
items: {
path: "oModel>/resource/list",
factory: function(sId, oContext) {
var oItem = new sap.ui.jsfragment("fragments.myItem", oController);
oItem.iId = oContext.getProperty("id");
return oItem;
}
}
});
function updateSingleListItemInModel(oNewItem) {
//custom function which overrides a single list entry
}
function focusActiveItem() {
var oItem = oList.getSelectedItem();
if (oItem) {
oItem.focus();
}
}
以下不关注所选项目:
updateSingleListItemInModel()
focusActiveItem(oNewItem);
以下确实关注所选项目:
updateSingleListItemInModel()
setTimeout(function() {
focusActiveItem(oNewItem);
}, 5);
请注意,唯一的区别是5 ms延迟,在此期间不会发生后端加载。 SAPUI5聚合绑定是否有延迟(在这种情况下介于0到5毫秒之间)?或者渲染速度太慢,是否因为项目尚未渲染而无法聚焦?或者是其他事情发生了吗?
答案 0 :(得分:0)
尝试以下操作并告诉我它是否有效:
group by