Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

176
Vistas
En un bloque REACT Gutenberg, cuando un usuario actualiza el atributo src de un elemento de video, ¿cómo puedo hacer que este cambio sea visible para el usuario de inmediato?

Estoy creando un bloque de Gutenberg personalizado para WordPress usando @wordpress/create-block, estoy usando el componente MediaUpload React, al que se puede hacer referencia aquí https://github.com/WordPress/gutenberg/blob/HEAD/packages/ bloque-editor/src/components/media-upload/README.md .

El bloque contiene un elemento de video HTML5 actualizable por el usuario. Mi pregunta es: ¿cómo puedo hacer que cuando el usuario cargue el video de su elección lo vea en la vista previa de la pantalla de edición de publicaciones en WordPress? Actualmente, cuando el usuario carga su video y se actualiza el atributo src, no ve el video en la vista previa a menos que publique la publicación y luego actualice la página.

elemento de video en mi código

Estoy usando el componente MediaUpload importado de @wordpress/block-editor Cuando el usuario selecciona su imagen, en realidad crea un objeto de imagen, este objeto de imagen tiene una serie de propiedades que incluyen "url" para que podamos pasarlo a una función como un argumento.

El componente de carga de medios en mi código

Esto actualiza el src usando una función simple. Paso el imageObject y luego actualizo la url usando imageObject.url

ingrese la descripción de la imagen aquí

Para mayor claridad, así es como se ve el elemento de video en el inspector del navegador antes de que el usuario cargue su video.

ingrese la descripción de la imagen aquí

Luego usan el botón de carga en el panel lateral y esto los dirige al administrador de medios para seleccionar su archivo.

ingrese la descripción de la imagen aquí

Cuando se completa este paso y regresan a la pantalla de edición posterior, el atributo src del elemento de video se ha actualizado, pero el DOM no se ha actualizado, por lo que el usuario no ve el cambio en el área de edición posterior de Gutenberg. Si publican o guardan los cambios y luego actualizan la página, verán el video que agregaron, pero esto es confuso para el usuario, necesito que puedan ver el cambio inmediatamente sin guardar ni actualizar. ¿Hay alguna manera de que pueda lograr esto?

ingrese la descripción de la imagen aquí

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

En realidad, no está configurando la imagen "nueva" después de que se haya guardado en la variable. Prueba algo como esto:

 <MediaUpload onSelect={(image) => { setAttributes({ image }) // when selected, save the image in the variable }} value={image ? image : ''} // if there is a saved image, this will show (so also after selecting one) render={({ open }) => ( <div> <a href="#" onClick={exampleFunction} title={__('select Image', 'example')} className="image-upload-link" > </a> </div> )} />
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda