我是sapui5的新手。我向“列表”组件提供自定义列表项
<List items="{data>/Stages}">
<CustomListItem>
<control:TechCardStage value="{data>}"
remove="onStageRemove" />
</CustomListItem>
</List>
其中control:TechCardStage
是我的自定义控件。此控件中有一个类变量this.bIsOpened
。我的问题:我有2个列表项,其中1个带有this.bIsOpened === true
,2个带有this.bIsOpened === false
,如何正确删除第二个项目?我尝试了火灾事件(删除),并在我的订阅函数中做到了:
onStageRemove: function(oEvent) {
var oValue = oEvent.getParameter('value');
this.setModelProperty(
'data',
'/Stages',
this.getView()
.getModel('data')
.getData()
.Stages.filter(function(oStage) {
return oStage.Id !== oValue.Id;
}),
);
},
它删除了该项目,但是this.bIsOpened
是真实的,尽管它是错误的。