Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

191
Visualizações
¿Cómo puedo enviar un formulario dinámico si no conozco mis modelos v?

Tengo un formulario dinámico, renderizo mis componentes (componente de entrada, componentes de área de texto...) depende de lo que tengo en la tabla de mi base de datos, me gustaría saber cómo puedo enviar el formulario ya que no sé los nombres de mis v-models porque cada usuario en mi aplicación puede hacer un formulario diferente.

 <template> <b-modal id="modal-1" v-model="showModal" title="Add Contact" modal-class="right" content-class="rounded-0" @ok="handleOk" @hidden="resetModal"> <form ref="form" name="addcontact"> <render :definition="response"></render> </form> </b-modal> </template> <script> import render from "../../components/forms/dynamic-render"; export default { components:{ render }, data() { return { showModal: true, response: [ {type:'text', label: 'My title', is_required:1}, {type:'textarea', label: 'text zone'} ] } }, methods:{ resetModal: function(){ this.$emit('close'); }, handleSubmit: function($e){ // i want to submit using axios but I don't know how in this case ( dynamic form with different v-model value ) }, handleOk: function(bvModalEvt){ this.handleSubmit(); } } }; </script>
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

No sé los nombres de mis v-models porque cada usuario de mi aplicación puede crear un formulario diferente.

No necesitas saber el nombre. Además, solo necesita los datos que el usuario proporciona.

La solución que le proporcioné es obtener los datos del componente de render :

Primero, debe vincular toda la entrada del formulario, el área de texto y los elementos seleccionados a un objeto Json

Como

 <template> <p>Assume a complex dynamic layout</p> </template> <script> export default { name: 'render', data () { return { /* bind all the input, textarea, and select elements to the Item object */ Item: { foo: 'foo', bar: 'bar' } } }, methods: { EnvelopeItem: function () { return JSON.stringify(this.Item) } } } </script>

Segundo, defina un método para tener acceso al elemento desde el componente principal ( EnvelopeItem )

Tercero, asigne una referencia ( ref ) al componente de render

 <render ref="render" :definition="response"></render>

Cuarto, llame a EnvelopeItem desde el componente principal a través de la referencia de render

 handleSubmit: function ($e) { let json = this.$refs.render.EnvelopeItem() console.log(json) // i want to submit using axios but I don't know how in this case ( dynamic form with different v-model value ) }

Todo listo.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda