我正在使用<mat-select-trigger>
来显示选定的项目-在这种情况下为付款方式:
<div style="padding-top: 24px;">
<mat-form-field style="width: 100%;">
<mat-select placeholder="Zahlungsmethode" [(value)]="selectedPaymentMethod">
<mat-select-trigger>
<div style="display: flex; align-items: center;">
<img [src]="selectedPaymentMethod.imageUrl" style="align-self: center; margin: 0 8px;">
<span>{{selectedPaymentMethod.displayText}}</span>
</div>
</mat-select-trigger>
<mat-option *ngFor="let pm of paymentMethods" [value]="pm">
<div style="display: flex; align-items: center;">
<img [src]="pm.imageUrl" style="align-self: center; margin: 0 8px;">
<span>{{pm.displayText}}</span>
</div>
</mat-option>
</mat-select>
</mat-form-field>
</div>
我的问题是mat-select
似乎没有反映出初始值,我也不明白为什么。
在constructor
中,我将this.selectedPaymentMethod
初始化为
if (this.currentSubscription != null) {
this.paymentMethod = data.currentSubscription.paymentMethod;
this.selectedPaymentMethod = this.paymentMethod;
}
但是它根本不显示。我还尝试使用[(ngModel)]
代替[(value)]
,但是它们都不起作用。
我在这里做什么错了?
据我所知,我正在像this(Stackblitz)那样做,但是由于某种原因,它在这里不起作用。
答案 0 :(得分:1)
目前尚不清楚为什么,但是所选项目应该是数组中的项目,例如:
this.selectedPaymentMethod = this.paymentMethods[0];