我正在使用SAPUI5,我想在按下按钮时动态添加项目。我有一个XML视图和一个XML模型。模型正确显示为List,我有一个表单来添加新项目。
我想将表单条目添加到List中。由于我的模型是XML模型,我尝试制作另一个JSONModel,但它不起作用。
<Page>
<Button text="Siguiente" press=".onPress"></Button>
<List headerText="Productos" items="{/book}">
<ObjectListItem title="{title}"
type="Active"
press=".handlePressItem">
</ObjectListItem>
</List>
<form:SimpleForm id="f1" layout="ResponsiveLayout">
<!-- here are the form fields -->
<Button id="Add"
text="Agregar"
press=".addItem" >
</Button>
</form:SimpleForm>
</Page>
onInit: function() {
var oModel = new sap.ui.model.xml.XMLModel();
oModel.loadData("model/sampleData.xml");
sap.ui.getCore().setModel(oModel);
},
答案 0 :(得分:0)
您可以使用.setProperty()
方法执行此操作。 Here是API的链接。
作为一个选项,您可以遍历表单的字段,从中读取数据并按如下方式更新模型:
addItem: function(){
var oModel = sap.ui.getCore().getModel();
oModel.setProperty("/<key1_path>", sap.ui.getCore().byId(this.createId("<relevat_field's_id>").getValue());
oModel.setProperty("/<key2_path>", sap.ui.getCore().byId(this.createId("<relevat_field's_id>").getValue());
...
oModel.refresh();
}