bugfix> dart > 投稿

select HTML要素を使用して、テーブル内のアイテムをフィルタリングしたい。そのために、モデル値 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);
}

別のコールバックを使用する必要がありますか?

回答 1 件
  • ngModelChange  イベントであり、 $event  値

    (ngModelChange)="onFilterCategory($event)"
    
    

    void onFilterCategory(String value) {
    
    

    双方向バインディングがあるため

    [(ngModel)]="selectedCategoryId"
    
    

    あなたも使用できます

    (ngModelChange)="onFilterCategory()"
    
    

    onFilterCategory() と  それはあなたの質問にあります。

    ザ・ change  イベントが早すぎるために動作しない- [(ngModel)]="selectedCategoryId" の前に   selectedCategoryId を更新できました 。

あなたの答え