show-suggest
Beschreibung
Wird ausgelöst, wenn das Vorschlag-Dropdown für einen konfigurierten Trigger geöffnet wird
Das show-suggest-Event wird ausgelöst, nachdem RichText eine nicht leere Liste von Einträgen für den aktuellen Trigger aufgelöst hat, kurz bevor das Dropdown geöffnet wird. Fangen Sie das Event ab, um die Einträge anzupassen, das Dropdown zu verschieben oder es abzubrechen.
Verwendung
"show-suggest": ({
trigger: string,
query: string,
items: Array<{
id?: string | number,
label?: string,
url?: string,
// ...beliebige benutzerdefinierte Felder aus der Datenquelle des Triggers
}>,
pos: DOMRect
}) => boolean | void;
Parameter
Der Callback des show-suggest-Events empfängt ein Objekt mit den folgenden Feldern:
trigger– das Trigger-Zeichen, das das Dropdown geöffnet hatquery– der nach dem Trigger-Zeichen eingegebene Text (wird zum Filtern deritemsverwendet)items– die aufgelöste (und bereits gefilterte) Liste der Vorschlagseinträge. Jeder Eintrag folgt der Form eines Vorschlagseintrags: optionale Felderid,labelundurlsowie beliebige benutzerdefinierte Felder (z. B.imageodername), die vontriggerTemplateverwendet werdenpos– einDOMRect, der die Cursor-Position beschreibt; wird verwendet, um das Dropdown auf dem Bildschirm zu positionieren
Info
Um interne Events zu verarbeiten, verwenden Sie die Event-Bus-Methoden.
Beispiel
// RichText initialisieren
const editor = new richtext.Richtext("#root", {
triggers: [{ trigger: "@", data: people }]
// weitere Konfigurationseigenschaften
});
// Vorschlagsliste überschreiben, bevor das Dropdown geöffnet wird
editor.api.intercept("show-suggest", (state) => {
if (state.trigger === "@" && state.query === "") {
return { ...state, items: state.items.slice(0, 5) };
}
});
Änderungsprotokoll: Das Event wurde in v2.1 hinzugefügt
Verwandtes Beispiel: RichText. Erwähnungen, Tags und asynchrone Suche
Verwandte Artikel: Erwähnungen und Tags