2 回答
TA贡献1895条经验 获得超3个赞
如果您使用的是响应式表单,则无需使用[selected]Nor (change),只需在创建表单时为 userName 赋予值即可
使用构造函数
const firstId=usersModel[0].id
this.form=new FormGroup({
userName:new FormControl(firstId)
})
使用表单生成器
const firstId=usersModel[0].id
this.form=this.fb.group({
userName:firstId
})
创建表单后使用 setValue
const firstId=usersModel[0].id
this.form.get('userName').setValue(firstId)
TA贡献1828条经验 获得超4个赞
当您使用 Angular 反应形式时,请尝试将逻辑保留在ts
文件本身中。
使用setValue(),您可以为控件设置默认值。
要设置表单控件的默认值,您可以这样,
this.form.controls['country'].setValue(this.countries[0].id)
在模板中使用它,
<option *ngFor="let country of countries" [value]="country.id"> {{ country.name }} </option>
参考:
完整的示例代码类似于,
应用程序组件.ts
import { Component } from '@angular/core';
import { FormGroup, FormControl } from '@angular/forms';
import {Country} from './country';
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: [ './app.component.css' ]
})
export class AppComponent {
countries = [
{
id: 'us',
name: 'United States'
},
{
id: 'uk',
name: 'United Kingdom'
},
{
id: 'ca',
name: 'Canada'
}
];
form: FormGroup;
ngOnInit(){
this.form = new FormGroup({
country: new FormControl('')
});
this.form.controls['country'].setValue(this.countries[0].id)
}
}
应用程序组件.html
<form [formGroup]="form">
<select formControlName="country">
<option *ngFor="let country of countries" [value]="country.id">
{{ country.name }}
</option>
</select>
</form>
- 2 回答
- 0 关注
- 92 浏览
添加回答
举报