我嘗試在mat-select更新表單時更新選擇值,setValue我可以看到表單已更新并且this.form.value等于用戶輸入但所選值仍然為空。
<mat-select [formControl="form"]>
<mat-option *ngFor="let item of items">....</mat-option>
<mat-option> <input (keyup)="updateForm($event.target.value)" /></mat-option>
</mat-select>
form = new FormControl()
updateForm(value) {
this.form.setValue(value)
}
更新 1。
好吧,我發現如果我要改變 items 陣列并從陣列中的輸入添加新值,那么 select 可以看到新值。但它仍然很糟糕,我可以看到
uj5u.com熱心網友回復:
這部分似乎是錯誤的[formControl="form"]。請像這樣嘗試:
<mat-select [formControlName]="form">
<mat-option *ngFor="....">....</mat-option>
<mat-option> <input (keyup)="updateForm($event.target.value)" /> </mat-option>
</mat-select>
uj5u.com熱心網友回復:
為什么不使用 2 向系結到 value 屬性?我認為這很簡單,不需要 Angular 形式來源:Angular Material
在您的 HTML 中:
<mat-form-field appearance="fill">
<mat-label>Select an option</mat-label>
<mat-select [(value)]="object.item">
<mat-option>None</mat-option>
<mat-option *ngFor="let item of listOfItems"
[value]="item">{{ item.desig }}
</mat-option>
</mat-select>
</mat-form-field>
uj5u.com熱心網友回復:
我認為你缺少價值屬性
它應該是 <mat-option [value]="...">
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/367283.html
