Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Dúvida Vue (v-html)

Olá, preciso criar um formulário dinamico, baseado em modelos prontos, porém são muitos modelos e são feitos dinamicamente também, não é viável gerar um componente para cada modelo.

Tentei usar o v-html para pegar o tipo de campo e o nome do campo para gerar para cada tipo, porém o v-html não aceita v-bind ou v-model para que eu consiga pegar os dados após a exibição.

Qual a melhor forma de "driblar" isso? poderiam me dar uma dica?

3 respostas

Fala ai Fagner, tudo bem?

Para trabalhar com formulários dinâmicos no Vue eu recomendaria você fazer algo no JavaScript:

const fields = [
    { name: 'nome', required: true, maxLength: 120, type: 'text' },
    { name: 'idade', required: true, min: 0, max: 100, type: 'number' }
]

E no seu template você renderiza um formulário dados um array de campos.

A ideia seria mais ou menos essa.

Espero ter ajudado.

solução

Eu estou usando uma biblioteca node que é o vue-form-generator, é basicamente o que você sugeriu...

Boa Fagner, fico feliz que tenha resolvido o problema.

Sempre que precisar não deixe de criar suas dúvidas.

Abraços e bons estudos.