角度2,4のformbuilder setvalue()は、ドロップダウンの選択時に期待通りに機能しません。フォームメーカーのsetvalue()がドロップダウンで使用されているときに期待どおりに動作しない
私は、次のドロップダウンがそれはGithubの団体が移入されます選択があります。ここでは
<select name="org" formControlName="organizations">
<option *ngFor="let org of organizations" [ngValue]="org">{{org.organization.login}}</option>
</select>
を選択する必要がありGithubの組織を設定するJavaScriptコードです。
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 –