Angular反应表单-如何在表单数组的表单控件内向单个控件添加订阅valueChanges

时间:2019-09-19 06:29:16

标签: angular form-control formarray

在Angular Reactive Forms中,我具有表单控件“名称”和表单数组控件“技能”,我可以添加valueChange来订阅整个技能,但是有什么方法可以添加valueChange来订阅“技能”中的“技能名称”。

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 });

像这样,有办法吗?

2 个答案:

答案 0 :(得分:0)

您可以使用get和at函数。

this.exp.skills.at(yourindex).skillname.valueChanges.subscribe(name=>
          { //sample code });

将是

this.exp.get('skills').at(yourIndex).get('skillname').valueChanges.subscribe(name=> {});

答案 1 :(得分:0)

this.exp.get('skillName').valueChanges.subscribe(val=>{
  console.log(val);
});