[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)

formData append array de objetos

[Finalizado Pelo Aluno]

Mateus Eustáquio Vieira de Carvalho
Criador Mateus Eustáquio Vieira de Carvalho 25/09/2018

Ola prof !

como faço um append em um array de objetos e detro desse array possui outro array, todos adicionados dinamicamente do formulario. Exemplo:

 

formData: {

    nome: '',

    descricao: '',

    grade_variacao: [

    {

         valor:  '',

         variacao: []

    }

]

}

Manager Carlos Ferreira 25/09/2018

Olá, Mateus!

Você quer incluir um array dentro do formData > grade_variacao?
Se for o caso precisa seguir a estrutura do objeto para conseguir inserir, assim:
this.formData.grade_variacao.unshift(varObjetoAqui)

Carlos Ferreira
Criador Mateus Eustáquio Vieira de Carvalho 25/09/2018

sim, mas não entendi nada, tem como fazer um exemplo ?

 

this.formData.grade_variacao.unshift(varObjetoAqui)

 

oque seria: varObjetoAqui ?

 

quero fazer um append no formData com array de objetos.

Mateus Eustáquio Vieira de Carvalho
Criador Mateus Eustáquio Vieira de Carvalho 25/09/2018

o formData que me refiro é do java script

 

const data = new formData();

 

quero fazer um append no grade_variacao:

 

faço isso e não funciona ! Como seria ?

data.append('grade_variacao', this.formData.grade_varacao)

 

Mateus Eustáquio Vieira de Carvalho
Manager Carlos Ferreira 25/09/2018

Ah sim, da forma como tinha postado a dúvida deu a entender que o formData era um propriedade que você criou.

Como está usando o formData ele tem suas particularidades.
Vejas as opções possíveis: https://developer.mozilla.org/pt-BR/docs/Web/API/FormData

O que eu recomendo? Quando adicionar registros dinamicamente em uma propriedade, e só quando for fazer o envio crie o objeto de formData.

No final você tem um objeto assim, certo?
data () {
    return {
        form: {
            nome: '',
            descricao: '',
            grade_variacao: [
                {
                    valor:  '',
                    variacao: []
                }
            ]
        },
    }
}

Para criar o objeto de formData, pode fazer assim:
const data = new formData()
data.append('nome', this.form.nome)
data.append('descricao', this.form.descricao)
data.append('grade_variacao', this.form.grade_variacao)

Também é possível fazer assim:
const data = new formData(this.form)

Entendeu a ideia? Você não altera os registros no objeto de new formData, mas sim na propriedade form.

Carlos Ferreira
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!