You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何判断FormArray中指定FormGroup的有效性?

解决FormArray中通过索引判断FormGroup有效性的问题

方案1:直接在模板中将数字索引转为字符串

不需要自定义管道,在模板里可以通过字符串拼接或者toString()方法把数字索引转成字符串,传给get()方法:

<div>Form Group Valid?: {{roundInputs.get('' + roundCount)?.valid}}</div>
<!-- 或者 -->
<div>Form Group Valid?: {{roundInputs.get(roundCount.toString())?.valid}}</div>

方案2:使用FormArray的at()方法(更推荐)

FormArray本身提供了at(index: number)方法,直接接受数字索引获取对应的FormControl/FormGroup,这是Angular表单API的标准用法,比转字符串更直观:

<div>Form Group Valid?: {{roundInputs.at(roundCount)?.valid}}</div>

原写法失效的原因

你猜测的结论是正确的:roundCount是ngFor循环中的数字类型索引,而FormControl.get()方法需要传入字符串类型的路径。当你用{{roundCount}}插值时,传入的是数字,和方法要求的参数类型不匹配,导致无法正确获取控件;而直接写'0'这种字符串索引则符合参数要求,所以能正常工作。

内容的提问来源于stack exchange,提问作者Eric Petela

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 08:47:12