Angular 响应式表单 - 如何将订阅 valueChanges 添加到表单数组中的表单控件内的单个控件
Angular Reactive Form - How to add subscribe valueChanges to a single control inside Form Control in Form Array
在Angular Reactive Forms中我有表单控件"name"和表单数组控件"skills",我可以添加valueChange
订阅整个技能,但是有什么办法单独添加 valueChange
订阅 "skillname",它位于 "skills".
this.exp = this.fb.group({
name: [null, Validators.required],
skills: this.fb.array([
{
skillname: 'java',
experience: 2
},
{
skillname: 'python',
experience: 2
}
]})})
示例:
this.exp.skills.valueChanges.subscribe(skills=>
{ //sample code });
但是我需要听技能名:
this.exp.skills[0].skillname.valueChanges.subscribe(name=>
{ //sample code });
像这样,请问有什么办法吗?
您可以使用 get 和 at 函数。
this.exp.skills.at(yourindex).skillname.valueChanges.subscribe(name=>
{ //sample code });
将是
this.exp.get('skills').at(yourIndex).get('skillname').valueChanges.subscribe(name=> {});
this.exp.get('skillName').valueChanges.subscribe(val=>{
console.log(val);
});
在Angular Reactive Forms中我有表单控件"name"和表单数组控件"skills",我可以添加valueChange
订阅整个技能,但是有什么办法单独添加 valueChange
订阅 "skillname",它位于 "skills".
this.exp = this.fb.group({
name: [null, Validators.required],
skills: this.fb.array([
{
skillname: 'java',
experience: 2
},
{
skillname: 'python',
experience: 2
}
]})})
示例:
this.exp.skills.valueChanges.subscribe(skills=>
{ //sample code });
但是我需要听技能名:
this.exp.skills[0].skillname.valueChanges.subscribe(name=>
{ //sample code });
像这样,请问有什么办法吗?
您可以使用 get 和 at 函数。
this.exp.skills.at(yourindex).skillname.valueChanges.subscribe(name=>
{ //sample code });
将是
this.exp.get('skills').at(yourIndex).get('skillname').valueChanges.subscribe(name=> {});
this.exp.get('skillName').valueChanges.subscribe(val=>{
console.log(val);
});