Issue #2180💬 RespondidoAbierto el 2 de agosto de 2019por timsim00Reacciones 0

¿Por qué ciertos elementos están restringidos a la etiqueta de formulario?

Respuesta rápidapor pouyamiralayi

Una vez tuve un caso de uso que funcionaba con una biblioteca de componentes de terceros. En esa biblioteca estaban disponibles los componentes de entrada y formulario, pero la lógica de renderizado se implementó de tal manera que, si la entrada no se colocaba en la etiqueta de formulario, los estilos específicos para...

Lee la respuesta completa abajo ↓

Pregunta

Sé que no es un requisito estricto y que se puede personalizar, pero la demo principal y algunas aplicaciones clonadas mantienen esta idea al restringir ciertos elementos (entrada, área de texto, etc.) para que no se eliminen en ningún sitio salvo en una etiqueta de formulario.

¿Se introdujo esto para demostrar que se puede hacer o hay algo más que me estoy perdiendo?

Respuestas (2)

pouyamiralayi2 de agosto de 2019

Una vez tuve un caso de uso que funcionaba con una biblioteca de componentes de terceros. En esa biblioteca estaban disponibles los componentes de entrada y formulario, pero la lógica de renderizado se implementó de tal manera que, si la entrada no se colocaba en la etiqueta de formulario, los estilos específicos para renderizar la etiqueta de entrada no producían ningún efecto. Así que acabarías teniendo una entrada fea. Así que tuve que restringir a los usuarios para que no soltaran entradas en cualquier sitio que no fuera la etiqueta del formulario. Como ejemplo, revisa este famoso enfoque de bibliotecas similar a este caso: f7 Salud.

artf12 de agosto de 2019

@timsim00 técnicamente eres totalmente libre de reiniciar esta lógica. He configurado esto simplemente porque en el mundo HTML y CSS (sin JS) tener entrada sin un wrapper de formulario no tiene sentido. Por ejemplo, tomemos el componente de 'entrada'. En 'grapesjs-plugin-forms' el componente 'input' tiene esta propiedad 'arrastrable: 'form, form *','. Para que sea arrastrable a cualquier sitio solo necesitarías este código '''js editor. DomComponents.addType('input', { modelo: { valores predeterminados: { arrastrable: verdadero } } })

**Para que funcione bien, colócalo en un plugin y cárgalo después de 'grapesjs-plugin-forms'**

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 →

Explorar categorías de plugins

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