我有这个函数可以在我的 ngOnInit 中创建我的表单组:
ngOnInit() {
//When start component create my form group
this.variacaoForm = this.fb.group({
variacoes: this.fb.array([this.createFormGroup()])
});
createFormGroup(): FormGroup {
return this.fb.group({
atributo: "",
preco: null,
listaatributos: [],
sku: '',
tipo: '',
id: '',
id_produto: '',
estoque_variacao: 0,
linkfotovariacao: '',
created_at: '',
foto_prin_1: '',
foto_prin_2: '',
foto_prin_3: '',
foto_prin_4: '',
foto_prin_5: '',
foto_prin_6: ''
});
}
}
注意listaatributos
必须是数组。
我尝试在这个 listaatributos 数组中添加一个推送数据的函数:
adicionaAtributo(index: number) {
this.variacaoForm.value.variacoes[index].listaatributos.push(this.idAtributo);
}
但我有这个消息:
错误类型错误:无法读取未定义的属性“listaatributos”
我的想法是我有一个反应形式,它必须是多样的,variacoes
并且variacoes
必须是一个listaatributos
集合为数组。
就像是:
variações: [{"estoque_variacao": 900, "atributos":[12,13]}]
这是我的树 dom variaçãoForm
:
使用this.variacaoForm.controls
代替this.variacaoForm.value
:
adicionaAtributo(index: number) {
(<FormGroup>(<FormArray>this.variacaoForm.controls['variacoes']).controls[index]).controls['listaatributos'].push(this.idAtributo);
}
问候,
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句