如何在 AngularDart 组件的更改回调中获取选定的选项

How to get selected option in change callback of AngularDart component

我想使用 select HTML 元素来过滤 table 中的项目。为此,我有一个模型值 selectedCategoryId 和更改事件的事件回调 onFilterCategory。但是当回调被调用时,值 selectedCategoryIdnull.

我有以下 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);
}

我需要使用另一个回调吗?

ngModelChange 是事件,$event 是值

(ngModelChange)="onFilterCategory($event)"

 void onFilterCategory(String value) {

因为你有双向绑定

[(ngModel)]="selectedCategoryId"

你也可以使用

(ngModelChange)="onFilterCategory()"

与您问题中的 onFilterCategory() 一致。

change 事件不起作用,因为它触发得太早 - 在 [(ngModel)]="selectedCategoryId" 能够更新 selectedCategoryId.

之前