如何解决反应形式的总和数组
我正在使用一个具有 formArray 的响应式表单,该表单又包含多个 formGroup。
对于每个 formGroup,我得到一个对象数组(取决于他们在年龄字段中选择的内容),例如:
对于 formGroupName[0] 我得到:
Traceback (most recent call last):
File "C:\Users\scalfarino\PycharmProjects\openyourmind2.0\venv\lib\site-packages\django\core\handlers\exceptio
n.py",line 47,in inner
response = get_response(request)
File "C:\Users\scalfarino\PycharmProjects\openyourmind2.0\venv\lib\site-packages\django\utils\deprecation.py",line 116,in __call__
response = self.process_response(request,response)
File "C:\Users\scalfarino\PycharmProjects\openyourmind2.0\venv\lib\site-packages\django\middleware\clickjackin
g.py",line 26,in process_response
if response.get('X-Frame-Options') is not None:
AttributeError: 'str' object has no attribute 'get'
对于 formGroupName1 我得到:
[
0: {aseguradora: "name1",plan: "plan1",prima: 6670}
1: {aseguradora: "name2",plan: "plan2",prima: 3272}
]
等等...
如何获得包含 [
0: {aseguradora: "name1",prima: 9302}
1: {aseguradora: "name2",prima: 4616}
]
字段总和的新数组?考虑到如果消除了 formGroup,则必须重新计算总和。
也就是说,我想要的结果是:
prime
尝试了以下操作,如果您求和但删除 formGroup 时,它不会减去该差异:
[
0: {aseguradora: "name1",prima: 15972}
1: {aseguradora: "name2",prima: 7888}
]
解决方法
不要使用“计数器”,每次循环计算所有值。有些喜欢
this.totalSumSalidP=this.array.value.map(x=>x.prima).reduce((a,b)=>(+a)+(+b),0)
应该可以
注意:在代码中,“this.array”是一个getter
get array(){
return this.myForm.get(...) as FormArray
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。