我在select中设置默认选项时遇到问题。我从服务器获取数组,我想选择数组中的第二个项目,即documentTypes [1]。这是我的代码和我试图做的。Angular2 - 在select中设置初始值 - 反应形式
选择HTML
<select formControlName="type">
<option *ngFor="let document of documentTypes" [ngValue]="document" [attr.selected]="selectedType">{{document.name | translate}}</option>
</select>
从服务器
getDocumentTypes() {
this._api.send(urlValues.documentType, 'Get').subscribe(
res => {
this.selectedType = res.content.types[1];
this.documentTypes = res.content.types;
},
err => console.log(err)
);
}
值我也有建立文件的方法和我想这
buildDocument(document?: any) {
if (document) {
this.documentForm = this._fb.group({
customer: this._fb.group({
oib: document.customer.oib,
location: document.customer.location
}),
payment_method: document.payment_method,
delivery_method: document.delivery_method,
status: document.status,
type: document.type,
expiration_date: document.expiration_date,
delivery_date: document.delivery_date,
note: document.note
});
} else {
this.documentForm = this._fb.group({
customer: this._fb.group({
oib: null,
location: null
}),
payment_method: null,
delivery_method: null,
status: null,
type: this.documentTypes[1],
expiration_date: '',
delivery_date: '',
note: ''
});
}
}
您有其他解决方案吗?由于
一个plunkr将是非常有用的。 –
这就是'if(document){'for?第二(else)分支事件是否被执行? –
如果(文档)用于编辑表单,当我获得现有的文档数据并填写表单时,我只需调用buildDocument(document)@GünterZöchbauer –