Estoy usando twig con vue.js y necesito hacer que la forma dinámica dependa de la lista de campos devuelta por twig. El problema principal aquí es que no puedo pasar la lista de campos en el script Vue.js y necesito establecer el valor predeterminado de html
La entrada se ve así ( {{ }} son corchetes, no vue.js)
id="{{ id }}_input" class="{{ id }}_input {{ type }}_input" label="{{ label ?? null}}{{ meta.required ? " *" : null }}" name={{ name }} value={{ default ?? null }} v-model="inputs['{{ id }}']"Traté de hacer algo como esto
:inputs['{{id}}'] = "{{ default }}" :inputs.{{id}} = "{{ default }}" Sin éxito También traté de inputs claves de entrada en el montaje y obtener valores de entrada con document.getElementById , pero la inputs de entrada siempre está vacía. También traté de obtener todas las entradas de formulario en el montaje como este
this.$el.querySelectorAll('input')pero en tal caso, el valor de entrada siempre está vacío.
En este momento estoy usando este truco, pero esto es absolutamente horrible, ¿hay alguna otra forma de hacerlo?
aporte
tmpValue="{{ default ?? null }}"Vue.js
mounted() { this.$el .querySelectorAll('input') .forEach(input => { input.value = input.getAttribute('tmpValue') input.dispatchEvent(new Event('input')) }); }