我使用的是Combobox,在控制器中的绑定是在下面完成的,由于某种原因,我需要从Combobox中删除一些项目,因此,在onAfterRendering
方法中,我如下所述删除项目。
this.byId("idaddrusages").removeItem(3);
项目已删除,但是如果我在同一会话中访问视图,则会抛出错误
未捕获(承诺)错误:错误:添加具有重复ID的元素 '__xmlview0--容器组件--- newAddress--idNewAddUsagesItm -__ xmlview0--容器组件--- newAddress--idAddressUsages-3'
如果我使用新的会话刷新页面,则项目将从组合框中删除。
查看
<ComboBox id="idaddrusages" >
<core:Item id="idNewAddUsagesItm" key="" text=""/>
</ComboBox>
答案 0 :(得分:0)
这是错误的声明组合框的方式
firebase.database().ref('/users/' + post.name).once('value').then(function(snapshot) {
const username = (snapshot.val() && snapshot.val().username)
})
第二,更好的方法是使用自己定义的json数据或odata模型使用本地json模型,并如下所示绑定ComboBox
<ComboBox id="idaddrusages" >
<core:Item id="idNewAddUsagesItm" key="" text=""/> // don't give id to item hence it complaints about duplicate id's
</ComboBox>
然后,您可以按照自己喜欢的方式更新模型并自动更新组合框,从而删除项目
让我知道它是否对您有用。
答案 1 :(得分:0)
在这种情况下,DOM操作在这里不起作用,因此我们从其自身的模型中删除了这些项目。