私は以下のコードを使用して、md-selectマテリアルコンポーネントを使用して特定の条件に基づいてモデル値を更新しました。特定のオプションを最初に選択すると、md-selectコンポーネントのtacos-2がその時点でモデル値が適切に更新されます。しかしその後、md-selectコンポーネントで同じオプション、つまりtacos-2を再度選択し、その時点でモデルの値は正しく更新されません。md-selectコンポーネントonchangeイベントのモデル値をangle 2マテリアルデザインから更新するにはどうすればよいですか?
app.component.ts: -
export class App {
name:string;
foods = [
{value: 'steak-0', viewValue: 'Steak'},
{value: 'pizza-1', viewValue: 'Pizza'},
{value: 'tacos-2', viewValue: 'Tacos'}
];
selectedValue: string = this.foods[0].value;
constructor() {
this.name = `Angular! v${VERSION.full}`
}
onFoodChanged(event) {
if(this.selectedValue == "tacos-2") {
this.selectedValue = "pizza-1";
}
event.value = this.selectedValue;
console.log(event)
}
}
app.component.html: -
<md-select placeholder="Favorite food" [(ngModel)]="selectedValue" name="food"
(change)="onFoodChanged($event)">
<md-option *ngFor="let food of foods" [value]="food.value">
{{food.viewValue}}
</md-option>
</md-select>
デモ: - https://plnkr.co/edit/rugT0PtmpP1gtHDzWReY?p=preview
どのようにすることができますmd-select comのモデル値を更新するポニント・オン・イベント?
変更イベントのオプションは、最初の時間の間、正常に動作しています。私が言っているのは、条件に基づいてピザ1に更新されたtacos-2オプションのモデル値を初めて選択するときです。再びピザ1オプションを使用します。次にtacos-2を再度選択します。その時点でモデル値は更新されませんでした。モデル値は、tacos-2ではなくpizza-1でなければなりません。 – RGS