我有一个看起来像这样的表格:
我想在TS中获取“数量”数组的长度并将其放入一个常量
我尝试过这个:
getLength() {
const lengthValue = this.itemsForm.controls('items').controls('quantity').length();
return lenghtValue;
}
但它根本不起作用
感谢您的帮助
答案 0 :(得分:0)
尝试一下:
getLength() {
var arrayControl = this.itemsForm.get('quantity') as FormArray;
const lengthValue = arrayControl.length();
return lenghtValue;
}
答案 1 :(得分:0)
似乎length是一个值而不是函数,因此请尝试从末尾删除()
getLength() {
const lengthValue = this.itemsForm.controls('items').controls('quantity').length;
return lenghtValue;
}
答案 2 :(得分:0)
您的“项”控件是FormArray,而不是FormGroup。
这意味着您通过索引而不是名称来访问其控件。
“数量” FormArray是FormGroup的控件,该控件位于“项” formArray的索引0处。请尝试以下操作:
const lengthValue = this.itemsForm.controls('items').controls[0].controls('quantity').length;
答案 3 :(得分:0)
@Adrita Sharma,@ user8351493,@ Michael Beeson
您好,谢谢您的帮助,它可以帮助我找到答案。
语法正确:
const lengthValue = ((this.itemsForm.get('items') as FormArray).at(0).get('quantity') as FormArray).length;