¿Puedo establecer el valor de bucle en el renderizado de componentes?
Usa el 'questionCom' que vas a pasar al modelo (usa el modelo para actualizar la lógica relacionada con el modelo) y te sugeriría usar la API de la documentación de Components (por ejemplo, 'textType.view.extend' es la antigua)
Lee la respuesta completa abajo ↓Pregunta
Hola, soy principiante en uvas. Quiero hacer un número de pregunta por el bucle for cuando dejé de lado componentes, ↓Quiero la final como esta imagen. El div puede mostrar el número de bucle. ! 01
↓Código de mi componente
HTML por defecto
const questionCom =
'<div class="gjs-row">
<div class="gjs-cell">{{i}}</div> Variable //number
<div class="gjs-cell"></div>
';</div>
const dc = editor. DomComponents;
const textType = dc.getType('text');
editor. BlockManager.add('m2', {
etiqueta: "número de pregunta",
ACTIVAR: Cierto,
Contenido: {
Tipo:'M2',
questionCom ,
},
}),
dc.addType('m2', {
model: textType.model.extend({
//...
}
}),
view:textType.view.extend({
onActive(){
//...
},
render(val) {
var a=""
this.model.set('components',
función a1(){ //on onActive I llamo función a1
for(var i=0; i<3; i++){
a+='<div class="gjs-row"><div class="gjs-cell">'+
val+
'</div><div class="gjs-cell"></div></div>'
}
devolver a
}
}
devuelvo esto;
},
})
});
En renderizado, dividí mi html predeterminado QuestionCom de {{i}} en frente y reverso. Luego, ponlos en renderizado. {{i}} puede ser perfecto para mostrar 1 2 3 en componente.
Pero el método dividido no es bueno. HTML no es fácil de leer y no puedo configurar HTML complejo si quiero, por ejemplo↓
<div class="gjs-row"> //one div
<div class="gjs-cell"> //dos div
<div class="gjs-row"> //tres div
<div class="gjs-cell">{{i}}</div> //cuatro div
<div class="gjs-cell"></div>
</div>
</div>
<div class="gjs-cell"></div>
</div>
¿Existe algún método mejor que pueda resolver mi pregunta? ¡Gracias!
Respuestas (1)
Usa el 'questionCom' que vas a pasar al modelo (usa el modelo para actualizar la lógica relacionada con el modelo) y te sugeriría usar la API de la documentación de Components (por ejemplo, 'textType.view.extend' es la antigua)
Preguntas y respuestas relacionadas
Continúa investigando con debates sobre temas similares.
Issue #2310
[PREGUNTA] ¿Cómo puedo especificar la posición para arrastrar elementos?
Hola, estoy haciendo un proyecto con esta librería y quiero especificar la posición para arrastrar componentes en ella Por ejemplo, tengo u...
Issue #3328
¿Cómo puedo actualizar el nodeValue (valor de texto) de los componentes mediante formas de entrada
Hola. Grapesjs es una herramienta estupenda. Gracias por ello. Quiero actualizar el valor de texto de un componente por entradas, ¿cómo pue...
Issue #1313
[Pregunta] Valor de rasgos de establecer desde html en carga de componentes
Tengo un componente personalizado y quiero establecer valores predeterminados de rasgos desde html. A continuación se muestra HTML renderiz...
Issue #2719
[PREGUNTA] ¿Cómo puedo marcar el nombre de una clase como protegido o privado en un componente?
Hola equipo, Primero, permitidme daros las gracias a todos por crear esta maravillosa biblioteca. Sois geniales. Quiero desactivar la edici...
Plugins de pago que cumplen con este problema
Seleccionado por temas clave y relevancia de etiquetas para ayudarte a enviar más rápido.
Cargando recomendaciones de plugins de pago...
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 →Los plugins premium incluyen soporte, actualizaciones regulares y funciones listas para producción — ahorrando días de trabajo de integración.
Explora plugins premium →Explorar categorías de plugins
Ve directamente a las páginas de categorías de plugins en el marketplace.