formGroupValorPraticado = new FormGroup({
descontoAplicado: new FormControl(0),
descontoEfetivo: new FormControl(0),
encargoFinanceiro: new FormControl(0),
precoPraticado: new FormControl(0),
mkpAplicadoPedido: new FormControl(0),
margem: new FormControl(0),
idMarkup: new FormControl(),
nomeMarkup: new FormControl(),
aliquotaProduto: new FormControl(0),
comissaoIdeal: new FormControl(0),
valorComissao: new FormControl(0),
precoTabela: new FormControl(0),
acrescimoProcesso: new FormControl(0),
acrescimoDistancia: new FormControl(0),
valorDescontoEfetivo: new FormControl(0),
precoTabelaPorcentagem: new FormControl(0),
acrescimoProcessoPorcentagem: new FormControl(0),
acrescimoDistanciaPorcentagem: new FormControl(0),
valoresTabela: new FormControl(0)
});
Mas quando chamo o servidor e ele retorna e vai preencher as informações.
this.formGroupValorPraticado.controls.precoTabelaPorcentagem.setValue(
entidade.precoTabelaPorcentagem
);
this.formGroupValorPraticado.controls.acrescimoProcessoPorcentagem.setValue(
entidade.acrescimoProcessoPorcentagem
);
this.formGroupValorPraticado.controls.acrescimoDistanciaPorcentagem.setValue(
entidade.acrescimoDistanciaPorcentagem
);
this.formGroupValorPraticado.controls.valoresTabela.setValue(
entidade.valoresTabela
);
Ele dá erro
que é esta linha
this.formGroupValorPraticado.controls.precoTabelaPorcentagem.setValue(
entidade.precoTabelaPorcentagem
);
Só que analisando os atributos novos não estão aqui
O que pode ser ?
Tente fazer assim para ver se funciona:
this.formGroupValorPraticado.controls['precoTabelaPorcentagem'].setValue(
entidade.precoTabelaPorcentagem
);
1 curtida
Se a sugestão do Lucas não funcionar, adiciona mais contexto pra gente, tipo a versão do Angular que vc está usando.
Também, tenta criar um projetinho do zero e levar parte do código problemático para lá e ver se o erro se repete.
Eu testei aqui, usando Angular 11, com o código abaixo e funcionou de boa:
import { Component } from '@angular/core';
import { FormControl, FormGroup } from '@angular/forms';
@Component({ selector: 'app-root', template: '<!-- -->' })
export class AppComponent {
formGroupValorPraticado = new FormGroup({
descontoAplicado: new FormControl(0),
descontoEfetivo: new FormControl(0),
encargoFinanceiro: new FormControl(0),
precoPraticado: new FormControl(0),
mkpAplicadoPedido: new FormControl(0),
margem: new FormControl(0),
idMarkup: new FormControl(),
nomeMarkup: new FormControl(),
aliquotaProduto: new FormControl(0),
comissaoIdeal: new FormControl(0),
valorComissao: new FormControl(0),
precoTabela: new FormControl(0),
acrescimoProcesso: new FormControl(0),
acrescimoDistancia: new FormControl(0),
valorDescontoEfetivo: new FormControl(0),
precoTabelaPorcentagem: new FormControl(0),
acrescimoProcessoPorcentagem: new FormControl(0),
acrescimoDistanciaPorcentagem: new FormControl(0),
valoresTabela: new FormControl(0),
});
constructor() {
const entidade = {
precoTabelaPorcentagem: '',
acrescimoProcessoPorcentagem: '',
acrescimoDistanciaPorcentagem: '',
valoresTabela: '',
};
this.formGroupValorPraticado.controls.precoTabelaPorcentagem.setValue(
entidade.precoTabelaPorcentagem
);
this.formGroupValorPraticado.controls.acrescimoProcessoPorcentagem.setValue(
entidade.acrescimoProcessoPorcentagem
);
this.formGroupValorPraticado.controls.acrescimoDistanciaPorcentagem.setValue(
entidade.acrescimoDistanciaPorcentagem
);
this.formGroupValorPraticado.controls.valoresTabela.setValue(
entidade.valoresTabela
);
}
}
Mas adiciona mais contexto pra gente, mostra um código mais completo.
1 curtida
Após analisar o código, antes tem um método
private async novoFormGroupValorPraticado(): Promise<any> {
this.formGroupValorPraticado = new FormGroup({
descontoAplicado: new FormControl(0),
encargoFinanceiro: new FormControl(0),
precoPraticado: new FormControl(0),
mkpAplicadoPedido: new FormControl(0),
descontoEfetivo: new FormControl(0),
margem: new FormControl(0),
idMarkup: new FormControl(),
nomeMarkup: new FormControl(),
aliquotaProduto: new FormControl(0),
comissaoIdeal: new FormControl(0),
valorComissao: new FormControl(0),
precoTabela: new FormControl(0),
acrescimoProcesso: new FormControl(0),
acrescimoDistancia: new FormControl(0),
valorDescontoEfetivo: new FormControl(0),
precoTabelaPorcentagem: new FormControl(0),
acrescimoProcessoPorcentagem: new FormControl(0),
acrescimoDistanciaPorcentagem: new FormControl(0),
valoresTabela: new FormControl(0),
});
}
Adicionei os que estavam faltando e funcionou.
Obrigado @Lucas_Camara e @wldomiciano
1 curtida