Что-то не могу сделать такую простую вещь, как забиндиться на onChange (а он есть?) radio-group
из bem-components
и получить значение?
Суть следующая: при изменении значения в группе радиокнопок b1__options
нужно проверять значение, и если оно, например, равно 3, то делаем setMod(disabled)
элементу b1__elem
.
Собственно, застрял на этапе получения значения getVal()
.
Вот это никак не реагирует:
this._events(this._radioGroup).on('change', this._radioChange);
this._events(this._radioGroup).on('click', this._radioClick);
this._domEvents(this._radioGroup).on('change', this._radioChangeDom);
Отсюда пара вопросов:
- Есть ли
change
? - Почему не происходит BEM-событие?
А при DOM-событии клика вылетает ошибка (Uncaught TypeError: this._radioGroup.getValue is not a function
):
this._domEvents(this._radioGroup).on('click', this._radioClickDom);
Глянуть можно тут: https://github.com/rteamx/project-stub/commit/eed20a6634a587c127d8ae8f39f56cac882123dd
Событие
change
уradio-group
есть, а проблема, насколько я понимаю, в поиске радиогруппы (https://github.com/rteamx/project-stub/commit/eed20a6634a587c127d8ae8f39f56cac882123dd#diff-c21ebbbc14add5e478c8e1ff9dd94502R7).Я сильно не вчитывался в код, но если идея в том, чтобы найти блок
radio-group
на своем элементеoptions
, то сделать это можно примерно так:findBlockOn()
- это из прошлой версии? В текущей описанfindMixedBlock()
.Попробовал и так оба варианта, с
findBlockOn()
падает на этапе поиска со словами, что не функция.А с
findMixedBlock()
BEM клик и DOM change никак не реагируют, BEM change и DOM click приводят к прошлой ошибке (https://github.com/rteamx/project-stub/commit/8feb33671674632b014a41af424a8a87ac65f64a):@rteamx вы можете сэкономить кучу своего времени, просто открыв https://github.com/bem/bem-core/blob/v4/MIGRATION.ru.md и сделав поиск по странице с интересующим методом. До обновления документации я так и делал — весьма продуктивно.
В общем, очепятался и даже на заметил, вместо
getVal()
написалgetValue()
:D