SAPUI5 удалить элемент из Combobox - PullRequest
0 голосов
/ 02 октября 2018

Я использую Combobox, в контроллере привязка выполняется ниже, и по какой-то причине мне нужно удалить несколько элементов из Combobox. Поэтому в методе onAfterRendering я удаляю элементы, как показано ниже.

this.byId("idaddrusages").removeItem(3);

Элементы были удалены, однако, если я получаю доступ к представлению в том же сеансе, он выдает ошибку

Uncaught (в обещании) Ошибка: Ошибка: добавление элемента с дублирующимся идентификатором '__xmlview0--Контейнерный компонент --- newAddress - idNewAddUsagesItm -__ xmlview0 - Контейнерный компонент --- newAddress - idAddressUsages-3 '

Если я обновлю страницу новым сеансом, из которого будут удалены элементыCombobox.

Вид

<ComboBox id="idaddrusages" >
  <core:Item id="idNewAddUsagesItm" key="" text=""/>
</ComboBox>

Ответы [ 2 ]

0 голосов
/ 05 октября 2018

DOM Manipulation здесь не работает в этом случае, поэтому мы удалили элементы из самой модели.

0 голосов
/ 03 октября 2018

Это неправильный способ объявить комбинированный список

<ComboBox id="idaddrusages" >
<core:Item id="idNewAddUsagesItm" key="" text=""/> // don't give id to item hence it complaints about duplicate id's
</ComboBox>

Во-вторых, лучший способ сделать это - использовать локальную модель json, используя ваши собственные определенные данные json или из модели odata, и связать ComboBox, как показано ниже

<ComboBox id="idaddrusages"
            items="{
                path: '/CollectionName'

            }">
            <core:Item key="{key}" text="{text}" />
        </ComboBox>

Затем вы можете удалять элементы, просто обновляя вашу модель так, как вам нравится, и комбинированный список должен обновляться автоматически

Дайте мне знать, если он работает для вас.

...