Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

181
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda