晚上好,我正在 Angular5 开展一个项目 . 特别是我有一个材料选择( mat-select )应该选择我作为用户的角色, mat-select 是这样组成的:
<mat-form-field>
<mat-select placeholder="Scegli un opzione" [formControl]="form.controls['Ruolo']" [(ngModel)]="admin.Ruolo">
<mat-option *ngFor="let key of keys" [value]="key">{{roles[key]}}</mat-option>
</mat-select>
</mat-form-field>
在我的引用打字稿文件中,我有一个处理所有内容的表单组 . 实际上,当我从服务器返回用户数据时,我以这种方式分配给表单控件:
this.form.controls.Id.setValue(result.Id);
this.form.controls.Nome.setValue(result.Nome);
this.form.controls.Cognome.setValue(result.Cognome);
this.form.controls.Ruolo.setValue(result.Ruolo);
this.admin = result;
其他值都设置正确,但问题发生在 Ruolo 字段,这是一个枚举(数字) .
这是构造函数中的原始设置表单组:
this.form = this.fb.group({
Id: [null],
Nome: [null, Validators.compose([Validators.required, Validators.minLength(3)])],
Cognome: [null, Validators.compose([Validators.required, Validators.minLength(3), Validators.maxLength(15)])],
Ruolo: [null, Validators.required],
});
为了完整的信息,这是我的类和枚举:
export class Admin {
Id: number;
Nome: string;
Cognome: string;
Ruolo: ERolesAdmin;
}
export enum ERolesAdmin {
SuperAdmin = 1,
Admin = 2
}
如何让mat-select明白它应该预先选择该值?
大家好 .