Javascript 从xml视图SAPUI5复制列表项
从控制器那个里得到一个简单的问题,我想复制定义为xml片段的列表项模板。到目前为止,我只复制了一次模板,问题是我不能复制多次 我的代码:Javascript 从xml视图SAPUI5复制列表项,javascript,xml,fragment,sapui5,Javascript,Xml,Fragment,Sapui5,从控制器那个里得到一个简单的问题,我想复制定义为xml片段的列表项模板。到目前为止,我只复制了一次模板,问题是我不能复制多次 我的代码: var button = oEvent.getSource(); var id = button.data("id"); var list = button.getParent().getParent(); var newItem = new sap.m.CustomListItem(); newItem.addContent(this[id]); list.
var button = oEvent.getSource();
var id = button.data("id");
var list = button.getParent().getParent();
var newItem = new sap.m.CustomListItem();
newItem.addContent(this[id]);
list.addItem(newItem);
其中,此[id]是实际定义的CustomListItem xml片段:
this.volumes = sap.ui.xmlfragment("fragment.volumes", this);
this.getView().addDependent(this.volumes);
是否可以复制xml模板的副本
控制台中没有错误,只是清空新生成的customListItem好的,我已经通过定义每次新的this.volumes1、2、3等来复制模板。这取决于列表项的长度首先,我建议查看 我认为你可能想要达到的目标是:
//check if the template has already been loaded, otherwise load it
if (!this._oTemplate) {
this._oTemplate = sap.ui.xmlfragment("path.to.fragment");
}
//clone the template to create a new item
var oNewItem = this._oTemplate.clone();
//add the clone to the list
oList.addItem(oNewItem);
使用XML片段创建项时,只存在1个项。因此,如果您多次尝试将同一项添加到列表中,您将不会看到显示新项(因为只有一项)。使用clone()
创建另一项