Есть задача менять (добавлять, удалять) пункты меню в выпадающем списке (menu
в select
).
Сойчас решаю проблему полной перегенерацией блока. Примерно так: BEMDOM.update(..., BEMHTML.apply(...))
. Пока встречается не очень часто, но как-то всё же не красиво, да хотелось бы иметь способ на будущее.
Похожий способ, но тоже не очень вариант: в select
есть доступ к вложенному menu
(свойство _menu
) методом setContent
заменять содержимое на сгенерированный html.
Можно ли придумать способ, чтоб это было похоже на оперирование с элементами массива или через интерфейс inset/append/remove? Ну хоть как-то вообще?
Привет!
Был вот такой PR: https://github.com/bem/bem-components/pull/1163, но после обсуждения (см. комментарии к пулл-реквесту) решили, что все-таки полный перерендеринг контрола лучше.
Мы делали через изменение
menu
. Там действительно не супер красиво, но работает@kompolom А нет примера на посмотреть? Если не слишком заморочено, то это, пожалуй, более предпочтительно: по крайней мере, сам контрол не убивать.