Угловой 2: Программный выбор опции в выпадающем списке во всех строках таблицы

0

Я создаю приложение, используя Angular 2 с TypeScript. У меня есть следующая таблица, которая содержит элемент управления select в одном из столбцов. Выбор содержимого управления привязывается к другому массиву строк -

    <table ngControl="lstClasses" name="lstClasses">
        <tr *ngFor="let class of model.Classes">
            <td>{{class.Name}}</td>
            <td>
                <select name="cmbSection" [(ngModel)]="class.Section">
                    <option *ngFor="let section of sections"
                        [ngValue]="section">
                        {{section}}
                    </option>
                </select>
            </td>
        </tr>
    </table>

Где Class является объектом типа {Name: string, Section: string} - строка [] = ["Белый", "Синий", "Фиолетовый", "Зеленый", "Красный"].

Когда я изменяю выбранную опцию в любом из выпадающих списков любой строки, она правильно отражается в модели. Когда я сохраняю и обновляю данные, весь элемент управления выбора во всех рядах показывает выбранный параметр, который был сохранен с последней строкой в таблице.

Например, если я выбираю "Фиолетовый" в последней строке таблицы и сохраняю ее, когда данные обновляются, все строки показывают "Фиолетовый" в качестве выбранного параметра, хотя модель содержит правильные параметры.

Не могли бы вы помочь, если я ошибаюсь в этом.

Теги:
angular
combobox

1 ответ

1
Лучший ответ

Я думаю, что вы смотрите что-то вроде ниже,

 <option *ngFor="let section of sections"
                    [value]="section"
                    [selected]="section == class.Section"
                    >
                    {{section}}
 </option>

Вот Плункер!

Надеюсь это поможет!!

  • 0
    Спасибо за ответ Мадху, но это решение не работает. Проблема в том, что я использую комбинированный элемент управления внутри элемента управления List или Table, иначе он работает нормально.
  • 0
    @Raj: Добавил Plunker для того же самого, это тот же сценарий?
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню