在 Angular 2 的下拉列表中设置所选值
Set value of selected in dropdown in Angular 2
我正在使用 FormBuilder 向数据库添加值。
this.formUser = this._form.group({
"firstName": new FormControl('', [Validators.required]),
"lastName": new FormControl('', [Validators.required]),
"externalCompany": new FormControl('', [Validators.required])
})
在添加这些值之前,我想将下拉菜单(外部公司)的值设置为我事先提交的值
<select class="form-control" id="companyExternal" formControlName="externalCompany" (ngModelChange)=onChangeExternalC($event)>
<option value="" >Select existing company...</option>
<option value="{{company}}" *ngFor="let company of externalCompanies">{{company}}</option>
<option value="Company name..." >ADD ANOTHER...</option>
</select>
我试过了
this._commServe.addExternalCompany(company).subscribe((data) => {
this.formUser.value.externalCompany = company.CompanyName;
}, (error) => {
this.errorMessage = <any>error;
})
我也尝试过使用 ngModel,但也没有按预期工作。
如果不借助 jQuery 来设置此下拉菜单的选定状态,最好的方法是什么
您可以在模型中具有 selected 值的选项上设置 selected
属性。
[attr.selected]="selectedExternalCompany"
使用 html 模板:
<select class="form-control" id="companyExternal" formControlName="externalCompany" (ngModelChange)=onChangeExternalC($event)>
<option value="" >Select existing company...</option>
<option value="{{company}}"
*ngFor="let company of externalCompanies"
[attr.selected]="selectedExternalCompany"
>{{company}}</option>
<option value="Company name..." >ADD ANOTHER...</option>
</select>
并在组件中设置 selectedExternalCompany
当 select 框更改时将其用作模型。
这是基于回答
我正在使用 FormBuilder 向数据库添加值。
this.formUser = this._form.group({
"firstName": new FormControl('', [Validators.required]),
"lastName": new FormControl('', [Validators.required]),
"externalCompany": new FormControl('', [Validators.required])
})
在添加这些值之前,我想将下拉菜单(外部公司)的值设置为我事先提交的值
<select class="form-control" id="companyExternal" formControlName="externalCompany" (ngModelChange)=onChangeExternalC($event)>
<option value="" >Select existing company...</option>
<option value="{{company}}" *ngFor="let company of externalCompanies">{{company}}</option>
<option value="Company name..." >ADD ANOTHER...</option>
</select>
我试过了
this._commServe.addExternalCompany(company).subscribe((data) => {
this.formUser.value.externalCompany = company.CompanyName;
}, (error) => {
this.errorMessage = <any>error;
})
我也尝试过使用 ngModel,但也没有按预期工作。
如果不借助 jQuery 来设置此下拉菜单的选定状态,最好的方法是什么
您可以在模型中具有 selected 值的选项上设置 selected
属性。
[attr.selected]="selectedExternalCompany"
使用 html 模板:
<select class="form-control" id="companyExternal" formControlName="externalCompany" (ngModelChange)=onChangeExternalC($event)>
<option value="" >Select existing company...</option>
<option value="{{company}}"
*ngFor="let company of externalCompanies"
[attr.selected]="selectedExternalCompany"
>{{company}}</option>
<option value="Company name..." >ADD ANOTHER...</option>
</select>
并在组件中设置 selectedExternalCompany
当 select 框更改时将其用作模型。
这是基于回答