angular / material2 - mdSelect - 如何使用对象将表单值显示为初始值

时间:2017-04-04 23:51:56

标签: angular typescript angular-material

好吧,我正在尝试构建一个具有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,但它不会显示任何东西,好像它是空的

0 个答案:

没有答案