我有一个SAPUI5表来显示来自SAP Odata服务的数据。在每一行中,我都有一个文本字段来更改产品的数量。该字段旁边是一个保存按钮,用于使用双向绑定保存更改。问题是,它需要两次单击才能执行任何操作,然后它会触发SAP中的更新方法,但也会触发create方法(我不知道为什么)。 你有什么想法吗?
onPressSave: function(evt) {
var that = this;
var oApp = that.byId("myApp");
var oModel = that.getView().getModel("myModel");
var path = evt.getSource().getParent().getBindingContextPath();
console.log(path);
oModel.submitChanges(
function(){
MessageToast.show(that._getMessage("It works!"), { duration:10000});
}, function(err) {
MessageToast.show(that._getMessage("ERROR"), { duration:10000});
} );
},
<Table id="id" inset="false" items="{path: 'myModel>/EntrySet'}">
<headerToolbar>
</headerToolbar>
<columns>
<Column><Text text="{i18n>product}" /></Column>
<Column width="60px" hAlign="Right"><Text text="{i18n>amount}" /></Column>
<Column width="70px" hAlign="Right"><Text text="{i18n>pps}" /></Column>
<Column width="33px" />
<Column width="33px" />
</columns>
<items>
<ColumnListItem>
<cells>
<ObjectIdentifier title="{myModel>MaterialName}" />
<Input id="cartAmount" value="{myModel>amount}" />
<ObjectNumber class="sapUiSmallMarginBottom" number="{parts:[{path: 'myModel>matPrice'},{path: 'myModel>matCurrency'}], type: 'sap.ui.model.type.Currency', formatOptions: {showMeasure: true}}" />
<Button icon="sap-icon://save" press="onPressSave" />
<Button icon="sap-icon://delete" press="onPressDel" />
</cells>
</ColumnListItem>
</items>
</Table>
提前谢谢!