首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angular 9反应表单无法更新值

Angular 9反应表单无法更新值
EN

Stack Overflow用户
提问于 2020-07-25 00:07:21
回答 1查看 37关注 0票数 0

我有一个带有嵌套窗体数组的反应式窗体。效果很好,直到现在都没有问题。

代码语言:javascript
复制
  contractForm = new FormGroup({
    ContractNumber:new FormControl(''),
    ...
    Items: this.fb.array([])
  });

稍后将填充items数组。

当我试图改变其中一个的值时,我的问题就来了。以前从来没有真正遇到过问题。但是,此函数:

代码语言:javascript
复制
removeSerial(rowIndex, snIndex){
    const itemsArray = this.contractForm.get('Items') as FormArray;
    const serialArray = itemsArray.at(rowIndex).get('SerialNumbers') as FormArray;  
    serialArray.at(snIndex).get('STATUS').setValue('Inactive'); 
    console.log(serialArray.at(snIndex).get('STATUS').value); 
    console.log(this.contractForm.value);
  }

第一个console.log显示预期的"Inactive“值。但是,当我打印表单的值时,该值不会改变。这里我漏掉了什么?如果有关系,则将组件设置为"changeDetection: ChangeDetectionStrategy.OnPush“

EN

回答 1

Stack Overflow用户

发布于 2020-07-25 01:06:58

解决方案是添加serialArray.updateValueAndValidity();感谢Chellappan将我带到那里。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63077358

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档