首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向列表中添加新项

向列表中添加新项
EN

Stack Overflow用户
提问于 2016-01-22 16:12:00
回答 1查看 2K关注 0票数 0

我正在使用SAPUI5,我想在按下按钮时动态添加一个项目。我有一个XML视图和一个XML模型。模型被正确地显示为一个列表,我有一个表单来添加一个新的项目。

我想将表单条目添加到列表中。由于我的模型是JSONModel,所以我尝试过制作另一个JSONModel,但是它不起作用。

XML视图

代码语言:javascript
复制
<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>

控制器

代码语言:javascript
复制
onInit: function() {
    var oModel = new sap.ui.model.xml.XMLModel();
    oModel.loadData("model/sampleData.xml");
    sap.ui.getCore().setModel(oModel);
},
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-22 22:08:48

您可以使用.setProperty()方法来完成它。这里是到API的链接。

作为一种选择,您可以循环遍历表单的字段,从它们读取数据并按以下方式更新模型:

代码语言:javascript
复制
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();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34951092

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档