好吧,我正在尝试构建一个具有mdSelect
的表单组件,该组件使用实际上是对象的选项。
让我们说:
...
export class MyFormComponent implements OnInit {
showing: boolean = false;
form: FormGroup;
options$: Observable<MyModel[]>;
constructor(
public fb: FormBuilder,
public data: MyDataService
)
ngOnInit() {
this.form = fb.group({myField: ['']});
this.options$ = this.data.fetch();
}
editRecord(record: any) {
this.form.patchValue(record);
this.showing = true;
}
}
这是值来自的地方:
fetch(search?: URLSearchParams): Observable<Response> {
return this.http.request({
method: RequestMethod.Get,
url: this.getEndpoint(),
search: search
});
}
和我的HTML:
<div class="myForm">
<md-select placeholder="Choose one" formControlName="myField">
<md-option *ngFor="let opt of options$ | async" [value]="opt">{{opt.someInnerField}}</md-option>
</md-select>
</div>
当我的这个组件用于插入新记录时,它可以正常工作,但是当我致电editRecord()
时,mdSelect
将不会显示myField.someInnerField
,但它不会显示任何东西,好像它是空的