admin管理员组

文章数量:1022679

Gutenberg has MediaUpload component that allows selecting images from media library (its docs).

It allows to pass button to a render property, for example:

<MediaUpload
  onSelect={ ( media ) => console.log( 'selected ' + media.length ) }
  allowedTypes={ ALLOWED_MEDIA_TYPES }
  value={ mediaId }
  render={ ( { open } ) => (
    <Button onClick={ open }>
      Open Media Library
    </Button>
  ) }
/>

But I also have another component (outside of the render function), doubleclick on it should open the same media library.

<AnotherComponent 
  ondoubleclick={ /* how do I open the same media modal here? */ }
></AnotherComponent>

Is there some way to do it with a single <MediaUpload/> component, or I need multiple?

Gutenberg has MediaUpload component that allows selecting images from media library (its docs).

It allows to pass button to a render property, for example:

<MediaUpload
  onSelect={ ( media ) => console.log( 'selected ' + media.length ) }
  allowedTypes={ ALLOWED_MEDIA_TYPES }
  value={ mediaId }
  render={ ( { open } ) => (
    <Button onClick={ open }>
      Open Media Library
    </Button>
  ) }
/>

But I also have another component (outside of the render function), doubleclick on it should open the same media library.

<AnotherComponent 
  ondoubleclick={ /* how do I open the same media modal here? */ }
></AnotherComponent>

Is there some way to do it with a single <MediaUpload/> component, or I need multiple?

本文标签: javascriptOpen MediaUpload from external component in Gutenberg