SAPUI5从组合框删除项目

时间:2018-10-02 15:19:16

标签: combobox sapui5

我使用的是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>

2 个答案:

答案 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操作在这里不起作用,因此我们从其自身的模型中删除了这些项目。