API
Types de nœuds
Éditeur
48 min
le éditeur stocke tout l'état d'un éditeur de slate il peut être étendu par des plugins pour ajouter des aides et implémenter de nouveaux comportements interface editor { children node\[] selection range | null operations operation\[] marks omit\<text, 'text'> | null // schema specific node behaviors isinline (element element) => boolean isvoid (element element) => boolean normalizenode (entry nodeentry) => void onchange () => void // overrideable core actions addmark (key string, value any) => void apply (operation operation) => void deletebackward (unit 'character' | 'word' | 'line' | 'block') => void deleteforward (unit 'character' | 'word' | 'line' | 'block') => void deletefragment () => void insertbreak () => void insertfragment (fragment node\[]) => void insertnode (node node) => void inserttext (text string) => void removemark (key string) => void } docid\ fhesrowobbj3fiacjt7uk docid\ fhesrowobbj3fiacjt7uk docid\ fhesrowobbj3fiacjt7uk docid\ fhesrowobbj3fiacjt7uk docid\ fhesrowobbj3fiacjt7uk docid\ fhesrowobbj3fiacjt7uk docid\ fhesrowobbj3fiacjt7uk docid\ fhesrowobbj3fiacjt7uk méthodes d'instanciation createeditor() => éditeur remarque cette méthode est importée directement de slate et ne fait pas partie de l'objet éditeur crée un nouvel objet éditeur méthodes statiques méthodes de récupération editor above\<t extends ancestor>(éditeur éditeur, options?) => nodeentry\<t> | undefined obtenez l'ancêtre au dessus d'un emplacement dans le document options {at? location, match? nodematch, mode? 'highest' | 'lowest', voids? boolean} editor after(éditeur éditeur, à location, options?) => point | undefined obtenez le point après un emplacement options {distance? number, unit? 'offset' | 'character' | 'word' | 'line' | 'block', voids? boolean} editor before(éditeur éditeur, à location, options?) => point | undefined obtenez le point avant un emplacement options {distance? number, unit? 'offset' | 'character' | 'word' | 'line' | 'block', voids? boolean} editor edges(éditeur éditeur, à location) => \[point, point] obtenez les points de départ et d'arrivée d'un emplacement editor end(editor editor, at location) => point obtenez le point d'arrivée d'un emplacement editor first(editor editor, at location) => nodeentry obtenez le premier nœud à un emplacement editor fragment(editor editor, at location) => descendant\[] obtenez le fragment à un emplacement editor last(editor editor, at location) => nodeentry obtenez le dernier nœud à un emplacement editor leaf(editor editor, at location, options?) => nodeentry obtenez le nœud de texte feuille à un emplacement options {depth? number, edge? 'start' | 'end'} editor levels\<t extends node>(editor editor, options?) => generator\<nodeentry\<t>, void, undefined> itérer à travers tous les niveaux à un emplacement options {at? location, match? nodematch, reverse? boolean, voids? boolean} editor marks(editor editor) => omit\<text, 'text'> | null obtenez les marques qui seraient ajoutées au texte à la sélection actuelle editor next\<t extends descendant>(editor editor, options?) => nodeentry\<t> | undefined obtenez le nœud correspondant dans la branche du document après un emplacement options {at? location, match? nodematch, mode? 'all' | 'highest' | 'lowest', voids? boolean} editor node(editor editor, at location, options?) => nodeentry editor nodes\<t extends node>(editor editor, options?) => generator\<nodeentry\<t>, void, undefined> obtenez le nœud à un emplacement options depth? number, edge? 'start' | 'end' editor nodes(editor editor, options?) => generator\<nodeentry\<t>, void, undefined> itérer à travers tous les nœuds dans l'éditeur options {at? location | span, match? nodematch, mode? 'all' | 'highest' | 'lowest', universal? boolean, reverse? boolean, voids? boolean} options mode 'all' (par défaut) tous les nœuds correspondants 'highest' dans une hiérarchie de nœuds, ne retourner que les nœuds correspondants de niveau le plus élevé 'lowest' dans une hiérarchie de nœuds, ne retourner que les nœuds correspondants de niveau le plus bas editor parent(editor editor, at location, options?) => nodeentry\<ancestor> obtenez le nœud parent d'une location options {depth? number, edge? 'start' | 'end'} editor path(editor editor, at location, options?) => path obtenez le chemin d'une location options {depth? number, edge? 'start' | 'end'} editor pathref(editor editor, path path, options?) => pathref créez une référence mutable pour un path objet, qui restera synchronisé à mesure que de nouvelles opérations sont appliquées à l'éditeur options {affinity? 'backward' | 'forward' | null} editor pathrefs(editor editor) => set\<pathref> obtenez l'ensemble des références de chemin actuellement suivies de l'éditeur editor point(editor editor, at location, options?) => point obtenez le point de départ ou de fin d'une localisation options {edge? 'start' | 'end'} editor pointref(editor editor, point point, options?) => pointref créez une référence mutable pour un point objet, qui restera synchronisé à mesure que de nouvelles opérations sont appliquées à l'éditeur options {affinity? 'backward' | 'forward' | null} editor pointrefs(editor editor) => set\<pointref> obtenez l'ensemble des références de point actuellement suivies de l'éditeur editor positions(editor editor, options?) => generator\<point, void, undefined> itérer à travers toutes les positions dans le document où un point peut être placé par défaut, il avancera par des décalages individuels à la fois, mais vous pouvez passer l' unité 'caractère' option pour avancer d'un caractère, mot ou ligne à la fois remarque par défaut, les nœuds vides sont traités comme un seul point et l'itération ne se produira pas à l'intérieur de leur contenu à moins que vous ne passiez true pour l'option des vides, alors l'itération se produira options {at? location, unit? 'offset' | 'character' | 'word' | 'line' | 'block', reverse? boolean, voids? boolean} editor previous\<t extends node>(editor editor, options?) => nodeentry\<t> | undefined obtenez le nœud correspondant dans la branche du document avant une localisation options {at? location, match? nodematch, mode? 'all' | 'highest' | 'lowest', voids? boolean} editor range(editor editor, at location, to? location) => range obtenez une plage d'une localisation editor rangeref(editor editor, range range, options?) => rangeref créez une référence mutable pour un range objet, qui restera synchronisé à mesure que de nouvelles opérations sont appliquées à l'éditeur options {affinity? 'backward' | 'forward' | 'outward' | 'inward' | null} editor rangerefs(editor editor) => set\<rangeref> obtenez l'ensemble des références de plage actuellement suivies de l'éditeur editor start(editor editor, at location) => point obtenez le point de départ d'un emplacement editor string(editor editor, at location, options?) => string obtenez le contenu de la chaîne de texte d'un emplacement remarque par défaut, le texte des nœuds vides est considéré comme une chaîne vide, quel que soit le contenu, à moins que vous ne passiez true pour l'option voids options {voids? boolean} editor void(editor editor, options?) => nodeentry\<element> | undefined correspondre à un nœud vide dans la branche actuelle de l'éditeur options {at? location, mode? 'highest' | 'lowest', voids? boolean} méthodes de manipulation editor addmark(editor editor, key string, value any) => void ajoutez une propriété personnalisée aux nœuds de texte feuille dans la sélection actuelle si la sélection est actuellement réduite, les marques seront ajoutées à la editor marks propriété à la place, et appliquées lorsque le texte sera inséré ensuite editor deletebackward(editor editor, options?) => void supprimez le contenu dans l'éditeur en arrière à partir de la sélection actuelle options {unit? 'character' | 'word' | 'line' | 'block'} editor deleteforward(editor editor, options?) => void supprimez le contenu dans l'éditeur en avant à partir de la sélection actuelle options {unit? 'character' | 'word' | 'line' | 'block'} editor deletefragment(editor editor) => void supprimez le contenu dans la sélection actuelle editor insertbreak(editor editor) => void insérez une rupture de bloc à la sélection actuelle editor insertfragment(editor editor, fragment node\[]) => void insérez un fragment à la sélection actuelle si la sélection est actuellement étendue, elle sera d'abord supprimée editor insertnode(editor editor, node node) => void insérez un nœud à la sélection actuelle si la sélection est actuellement étendue, elle sera d'abord supprimée editor inserttext(editor editor, text string) => void insérez du texte à la sélection actuelle si la sélection est actuellement étendue, elle sera d'abord supprimée editor removemark(editor editor, key string) => void supprimez une propriété personnalisée de tous les nœuds de texte feuille dans la sélection actuelle si la sélection est actuellement réduite, la suppression sera stockée sur editor marks et appliquée au texte inséré ensuite editor unhangrange(editor editor, range range, options?) => range convertissez une plage en une plage non suspendue options {voids? boolean} vérifier les méthodes editor hasblocks(editor editor, element element) => boolean vérifiez si un nœud a des enfants de type bloc editor hasinlines(editor editor, element element) => boolean vérifiez si un nœud a des enfants de type inline et texte editor hastexts(editor editor, element element) => boolean vérifiez si un nœud a des enfants de type texte editor isblock(editor editor, value any) => value is element vérifiez si une valeur est un bloc element objet editor iseditor(value any) => value is editor vérifiez si une valeur est un editor objet editor isend(editor editor, point point, at location) => boolean vérifiez si un point est le point final d'un emplacement editor isedge(editor editor, point point, at location) => boolean vérifiez si un point est un bord d'un emplacement editor isempty(editor editor, element element) => boolean vérifiez si un élément est vide, en tenant compte des nœuds vides editor isinline(editor editor, value any) => value is element vérifiez si une valeur est un inline element objet editor isnormalizing(editor editor) => boolean vérifiez si l'éditeur est actuellement en train de normaliser après chaque opération editor isstart(editor editor, point point, at location) => boolean vérifiez si un point est le point de départ d'un emplacement editor isvoid(editor editor, value any) => value is element vérifiez si une valeur est un vide élément objet méthodes de normalisation editor normalize(editor editor, options?) => void normalisez tous les objets sales dans l'éditeur options {force? boolean} editor withoutnormalizing(editor editor, fn () => void) => void appelez une fonction, en différant la normalisation jusqu'à ce qu'elle soit terminée méthodes d'instance spécifiques au schéma à remplacer remplacez ces méthodes pour modifier le comportement original de l'éditeur lors de la construction https //github com/ianstormtaylor/slate/tree/a02787539a460fb70730085e26df13cca959fabd/concepts/07 plugins/readme md lors de la modification du comportement, appelez la méthode originale lorsque cela est approprié par exemple, un plugin qui marque les nœuds d'image comme "vide" const withimages = editor => { const { isvoid } = editor editor isvoid = element => { return element type === 'image' ? true isvoid(element) } return editor } méthodes de type d'élément utilisez ces méthodes afin que slate puisse identifier certains éléments comme docid 2edpdrluplygnztbhr3ez ou docid 2edpdrluplygnztbhr3ez isinline(element element) => boolean vérifiez si une valeur est un élément objet isvoid(element element) => boolean vérifiez si une valeur est un élément objet méthode de normalisation normalizenode(entry nodeentry) => void docid\ izjicpkmwkxreo3uomwrq un nœud selon le schéma méthode de rappel onchange() => void appelé lorsqu'il y a un changement dans l'éditeur méthodes de marquage addmark(key string, value any) => void ajoutez une propriété personnalisée aux nœuds de texte de feuille dans la sélection actuelle si la sélection est actuellement réduite, les marques seront ajoutées à la editor marks propriété à la place, et appliquées lorsque le texte est inséré ensuite removemark(key string) => void supprimer une propriété personnalisée des nœuds de texte feuille dans la sélection actuelle méthode getfragment getfragment() => descendant renvoie le fragment à la sélection actuelle utilisé lors de la coupe ou de la copie, par exemple, pour obtenir le fragment à la sélection actuelle méthodes de suppression lorsqu'un utilisateur appuie sur la touche retour arrière ou supprimer, cela invoque la méthode en fonction de la sélection par exemple, si la sélection est étendue sur un certain texte et que l'utilisateur appuie sur la touche retour arrière, deletefragment sera appelée mais si la sélection est réduite, deletebackward sera appelée deletebackward(options? {unit? 'character' | 'word' | 'line' | 'block'}) => void supprimer le contenu dans l'éditeur en arrière à partir de la sélection actuelle deleteforward(options? {unit? 'character' | 'word' | 'line' | 'block'}) => void supprimer le contenu dans l'éditeur en avant à partir de la sélection actuelle deletefragment() => void supprimer le contenu de la sélection actuelle insérer des méthodes insertfragment(fragment node\[]) => void insérer un fragment à la sélection actuelle si la sélection est actuellement étendue, supprimez la d'abord insertbreak() => void insérer une rupture de bloc à la sélection actuelle si la sélection est actuellement étendue, supprimez la d'abord insertnode(node node) => void insérer un nœud à la sélection actuelle si la sélection est actuellement étendue, supprimez la d'abord inserttext(text string) => void insérer du texte à la sélection actuelle si la sélection est actuellement étendue, supprimez la d'abord méthode de gestion des opérations apply(operation operation) => void appliquer une opération dans l'éditeur
