Issue #2683💬 RespondidoAbierto el 25 de marzo de 2020por longdoan7421Reacciones 0

Al cancelar Colorpicker, se estableció un valor incorrecto para el componente

Respuesta rápidapor longdoan7421

Hola @artf, Después de ver alrededor del selector de color, creo que el problema es que el espectro no tiene el mismo valor que el modelo cuando el usuario cambia la entrada. Así que intenté sincronizar el valor de spectrum y model, y pudo solucionar el problema. Aquí está mi solución: '''javascript InputColor.js /*Es...

Lee la respuesta completa abajo ↓

Pregunta

  1. ¿Estás usando la última versión (las versiones antiguas NO están soportadas)? Sí.
  2. ¿Te enfrentas al error con tu copia local de GrapesJS o con la demo actual? Ambos.
  3. Pasos para reproducir:
  • Arrastra un componente y luego cambia su color de fondo desde la entrada
    • Abrir el selector de color inmediatamente
    • Luego haz clic en el selector de color exterior (en cualquier lugar excepto en lienzo)
  1. ¿Cuál es el comportamiento esperado? El color de fondo debe mantenerse.
  2. ¿Qué pasa en cambio? Cambio de color de fondo a color anterior o #000000.
  3. Screencast

! uvas-color de fondo

Respuestas (2)

longdoan742125 de marzo de 2020

Hola @artf, Después de ver alrededor del selector de color, creo que el problema es que el espectro no tiene el mismo valor que el modelo cuando el usuario cambia la entrada. Así que intenté sincronizar el valor de spectrum y model, y pudo solucionar el problema. Aquí está mi solución: '''javascript InputColor.js /**

  • Establecer valor al modelo
  • @param {string} val
  • @param {Object} opta */ setValue(val, opts = {}) { modelo const = este.modelo; const def = model.get('defaults'); valor const = !isUndefined(val) ? val: !isIndefinido(def)? Def: ''; const inputEl = this.getInputEl(); const colorEl = this.getColorEl(); const valueClr = valor != 'ninguno' ? valor: ''; inputEl.value = valor; colorEl.get(0).style.backgroundColor = valueClr;

Esto evita añadir varios pulgares en el espectro si (opts.fromTarget || (opts.fromInput & !opts.avoidStore)) { // cuando cambia la entrada, actualiza el valor en spectrum colorEl.spectrum('set', valueClr); this.noneColor = valor == 'ninguno'; } },

¿Qué opinas de esto? Si está bien, podría presentar una residencia permanente.

Gracias.
longdoan742125 de marzo de 2020

He descubierto que este error también ocurre si cambias la entrada con cualquier valor, luego abres inmediatamente Colorpick y luego la cancelas haciendo clic en fuera (no en el lienzo).

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.