Как получить выбранный вариант в обратном вызове изменения компонента AngularDart - PullRequest
0 голосов
/ 25 мая 2018

Я хочу использовать выбранный HTML-элемент для фильтрации элементов в таблице.Для этого у меня есть значение модели selectedCategoryId и обратный вызов события onFilterCategory для события изменения.Но когда вызывается обратный вызов, значение selectedCategoryId равно null.

. У меня есть следующий фрагмент HTML-кода:

<select id="category"
        class="form-control"
        [(ngModel)]="selectedCategoryId"
        (change)="onFilterCategory()">
    <option *ngFor="let category of categories"
            value="{{category.id}}">
        {{category.name}}
    </option>
</select>

и следующий фрагмент кода дротика:

void onFilterCategory() {
    print('onFilterCategory');
    print('this.selectedCategoryId: ' + this.selectedCategoryId);
}

Нужно ли использовать другой обратный вызов?

1 Ответ

0 голосов
/ 25 мая 2018

ngModelChange - это событие, а $event значение

(ngModelChange)="onFilterCategory($event)"

с

 void onFilterCategory(String value) {

Поскольку у вас есть двусторонняя привязка

[(ngModel)]="selectedCategoryId"

вы также можете использовать

(ngModelChange)="onFilterCategory()"

с onFilterCategory(), как и в вашем вопросе.

Событие change не работает, потому что оно срабатывает слишком рано - до [(ngModel)]="selectedCategoryId"удалось обновить selectedCategoryId.

...