Как изменить значение в случае нескольких вариантов? - PullRequest
0 голосов
/ 07 декабря 2018

Я разрабатываю веб-приложение с использованием Angular 6. Я использовал библиотеку bootstrap-select для реализации комбинированного окна (с дополнительными возможностями для настройки).У меня проблема: когда я устанавливаю атрибут нескольких, графически поведение правильное (все выбранные строки появляются внутри поля ввода, вместе).Проблема в том, что значение, связанное с моим ngModel (используется для получения данных с двухсторонним связыванием), всегда только одно (и всегда соответствует первому значению, отображаемому внутри поля, хотя в нем есть и другие значения!).Это код:

<select
   class="form-control selectpicker show-tick"
   data-width="200px"
   multiple
   title="my_title"
   name = "name"
   [(ngModel)] = "value"
   (ngModelChange) = "onChange($event)"
>
    <option value="1">Value 1</option>
    <option value="2">Value 2</option>
    <option value="2">Value 3</option>

</select>

Это результат (графически это именно то, что я хотел бы):

enter image description here

НоКак вы можете видеть, при каждом щелчке для добавления нового значения объект значения всегда и только ассоциируется с 1 (поскольку значение 1 является первым в списке и, похоже, не имеет значения, что присутствуют два других значения),Журнал консоли (значение объекта):

enter image description here

Как решить эту проблему?

1 Ответ

0 голосов
/ 07 декабря 2018

Проблема в том, что вы используете мультивыбор версии для jquery.Вы могли бы сделать некоторые трюки, чтобы заставить это работать, но это не будет довольно элегантно

Также зачем использовать jquery в angular?Вы всегда должны стараться избегать этого

Angular обрабатывает привязки другим способом.

Я рекомендую использовать эту библиотеку ng-select

Демо

...