我正在使用SAPUI5,我想在按下按钮时动态添加一个项目。我有一个XML视图和一个XML模型。模型被正确地显示为一个列表,我有一个表单来添加一个新的项目。
我想将表单条目添加到列表中。由于我的模型是JSONModel,所以我尝试过制作另一个JSONModel,但是它不起作用。
XML视图
<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);
},发布于 2016-01-22 22:08:48
您可以使用.setProperty()方法来完成它。这里是到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();
}https://stackoverflow.com/questions/34951092
复制相似问题