Comment insérer un gif dans l'éditeur Slate
P粉982054449
P粉982054449 2023-09-11 11:20:49
0
1
521

J'ai un éditeur de texte slate dans mon application et je souhaite insérer des gifs à l'aide de liens giphy. J'ai essayé d'ajouter en utilisant la fonction insertNodes mais cela semble simplement ajouter une nouvelle ligne. J'ai répertorié ci-dessous les fonctions que j'utilise pour ajouter des gifs ;

function insertImage(editor, url) { const element = { type: 'video', url, children: [{ text: '' }] } Transforms.insertNodes(editor, element) }

J'ai simplement utilisé des liens gif accessibles au public pour m'assurer de pouvoir réellement ajouter le gif dans l'éditeur. Je suis donc sûr que le lien ou quoi que ce soit d'autre n'est pas le problème. J'ai également essayé de le faire en utilisant des liens provenant d'ailleurs sans succès, donc toute aide serait appréciée.

Ajout également de ma fonction d'élément de rendu ci-dessous ;

const renderElement = useCallback((props) => , []);

Enfin, c'est la définition de mon élément ;

const Element = ({ attributes, children, element }) => { const style = { textAlign: element.align } switch (element.type) { case "block-quote": return ( 
{children}
) case "bulleted-list": return (
    {children}
) case "heading-one": return (

{children}

) case "heading-two": return (

{children}

) case "list-item": return (
  • {children}
  • ) case "numbered-list": return (
      {children}
    ) default: return (

    {children}

    ) } }

    P粉982054449
    P粉982054449

    répondre à tous (1)
    P粉276064178

    Selon la documentation de l'ardoise :https://docs.slatejs.org/walkthroughs/03-defining-custom-elements

    Aussi cet article :Comment aligner du texte avec Slate.js et React ?

    Vous devez modifier le rappel renderElement pour afficher différents composants en fonction de modificateurs spécifiques. Par exemple, si vous travaillez avec un élément de code et que vous souhaitez l'afficher dans l'éditeur, vous attribuez généralement au nœud Slate un attribut type avec une valeur decode. Ensuite, dans votre fonction renderElement, vous transmettez les accessoires contenant le type à restituer.

    Donc, pour votre cas d'utilisation, vous feriez ce qui suit :

    const renderElement = useCallback({ attributes, children, element }) => { switch (element.type) { case 'video': return ( 
    ) default: return (

    {children}

    ) }
      Derniers téléchargements
      Plus>
      effets Web
      Code source du site Web
      Matériel du site Web
      Modèle frontal
      À propos de nous Clause de non-responsabilité Sitemap
      Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!