Issue #1568💬 RespondidoAbierto el 8 de noviembre de 2018por dkmurakaruReacciones 0

Rasgo de lista/array

Respuesta rápidapor artf

@dkmurakaru presta atención a que estás creando una entrada real '''js var input = document.createElement('div'); ``` por lo tanto, también deberías actualizar métodos como 'onChange' y 'setInputValue'

Lee la respuesta completa abajo ↓

Pregunta

Hola,

Estoy intentando redactar un rasgo que permita crear una lista de formularios y genere los respectivos en el modelo. Hasta ahora tengo esto: '''javascript editor. TraitManager.addType('list', { eventos: { 'keyup': 'onChange' }, getInputEl: function() { var self = esto; var idx = 1; función createForm(input) { self.model.attributes.options.map(function(m) { TOOD: Añadir opciones de selección console.log(m); si (m.type === 'select') { var s = $('<select name="'+ m.name +'"></select>').get(0); s.appendChild($('<valor de la opción="">'+ m.placeholder +'</option>').get(0)); m.options.map(function(opt) { s.appendChild($('<valor de opción="'+ opt.value +'">'+ opt.name +'</option>').get(0)) }) input.appendChild(s); } else { input.appendChild($('<input name="'+ m.name +'" placeholder="'+ m.placeholder +'"/>').get(0)) }

}); input.appendChild($('<button id="'+ idx +'" class="btn btn-sm btn-danger pull-left"><i class="fa fa-minus"></i> Remove</button>').get(0)) } if (!this.inputEl) { var input = document.createElement('div'); var btn = $('<button class="btn btn-sm btn-default"><i class="fa fa-plus"></i> Añadir</button>'); Escucha los clics en añadir botón y añadir al modelo btn.on('click', function(ev) { var id = $(ev.currentTarget).data(''); idx += 1; createForm(input); }); input.appendChild(btn.get(0)); createForm(input); Input.valor = this.target.get('content'); this.inputEl = entrada; } return this.inputEl; }, onValueChange: función () { console.log(this.model.get('value')); this.target.set('lista', this.model.get('valor')); } });


En los problemas actuales no puedo vincular los elementos resultantes a los oyentes del evento onChange. ¿Tendré que conectar manualmente cada elemento a un oyente? Si es así, ¿cómo debería proceder para actualizar el modelo del formulario?

Gracias.

Respuestas (2)

artf9 de noviembre de 2018

@dkmurakaru presta atención a que estás creando una entrada real '''js var input = document.createElement('div');

por lo tanto, también deberías actualizar métodos como ['onChange'](https://github.com/artf/grapesjs/blob/dev/src/trait_manager/view/TraitView.js#L44) y ['setInputValue'](https://github.com/artf/grapesjs/blob/dev/src/trait_manager/view/TraitView.js#L52)
lock[bot]9 de noviembre de 2019

Este hilo se ha bloqueado automáticamente porque no ha habido actividad reciente desde que se cerró. Por favor, abre un nuevo problema para bugs relacionados.

Preguntas y respuestas relacionadas

Continúa investigando con debates sobre temas similares.

Plugins de pago que cumplen con este problema

Seleccionado por temas clave y relevancia de etiquetas para ayudarte a enviar más rápido.

Ver todos los plugins

Cargando recomendaciones de plugins de pago...

Opción gratuita

Consulta los plugins de código abierto de GrapesJS en GitHub O haz una búsqueda rápida en nuestro catálogo gratuito.

Explora plugins gratuitos →
Opción premium

Los plugins premium incluyen soporte, actualizaciones regulares y funciones listas para producción — ahorrando días de trabajo de integración.

Explora plugins premium →

Tutoriales relacionados

Guías detalladas sobre el mismo tema.

Todos los tutoriales →

Explorar categorías de plugins

Ve directamente a las páginas de categorías de plugins en el marketplace.