对下拉选择使用Angular 2,4 formbuilder setvalue()时未按预期工作。Formbuilder setvalue()在下拉选项上使用时未按预期工作
我有以下的下拉列表中选择的是它和Github上组织填充:
<select name="org" formControlName="organizations">
<option *ngFor="let org of organizations" [ngValue]="org">{{org.organization.login}}</option>
</select>
这里是JavaScript代码设置应该选择GitHub的组织。
this.pipelineForm = fb.group({
name:'',
organizations:'',
repos: '',
branches:'',
runtime:'',
versions:''
});
userService.getOrganizations().subscribe((org:github)=>{
let organizationName = org.data[0];
this.organizations = org.data;
this.projects.subscribe((p)=> {
p[1].project.subscribe((f)=>{
this.pipelineForm.get("organizations").setValue(f.organizations, {onlySelf: true});
//this.pipelineForm.patchValue(f);
});
});
});
我期望当我通过将值setValue()
将被选择的相应下拉菜单选项。相反,我得到一个空白选项。我也试过patchValue()
。没有运气。
使用'compareWith'来提供比较函数。 https://angular.io/api/forms/SelectControlValueAccessor –