【发布时间】:2017-09-25 02:12:35
【问题描述】:
我正在尝试设置一个选择选项,但似乎无法使其正常工作。运行this.eventForm.controls.venue.setValue(event.venue.name); 会将venue 的值更改为event.venue.name,但选择选项不会改变。
组件.ts
const eventObject = this.db.object(`/events/${eventId}`);
console.log(eventObject);
this.existingEvent = eventObject
.takeUntil(this.ngUnsubscribe)
.subscribe((event: Object) => this.reForm(event),
(error: any) => { console.log(error) }
);
reForm(event): void {
if (this.eventForm) {
this.eventForm.reset();
}
console.log(this.eventForm.controls.venue);
this.eventForm.controls.venue.setValue(event.venue.name);
this.eventForm.patchValue({
category: event.category,
date: event.date,
// venue: event.venue.name,
description: event.description,
name: event.name,
})
}
component.html
<form [formGroup]="eventForm">
<md-select class="example-full-width" [ngModelOptions]="{standalone: true}" placeholder="Venue"
(change)="venueProcess($event)">
<md-option *ngFor="let venue of venues | async" [value]="venue.$key">
{{ venue.name }}
</md-option>
</md-select>
</form>
*** 编辑。设置值后的图像
【问题讨论】:
-
您使用的是模板驱动表单还是响应式(又名模型驱动)表单?
-
表单是反应式的
标签: javascript angular