2017-05-15 1 views
0

Wir verwenden derzeit quilljs für ein Projekt. Wenn wir versuchen, HTML über die dangerousPasteHTML-API aus dem Zwischenablage-Modul hinzuzufügen, werden die benutzerdefinierten Attribute aus den Absätzen entfernt.Wie behalten Sie die benutzerdefinierten Attribute für einen Absatz in quilljs

Zum Beispiel:

Auf den folgenden Code der Anwendung:

quill.clipboard.dangerouslyPasteHTML("<p data-id='1'>Hello</p>"); 

Die erhaltene Ausgabe ist

<p>Hello</p> 

Wie behalten Sie das Attribut 'Daten-id' in der Ausgabe?

UPDATE 1: ich es geschafft haben, das benutzerdefinierte Attribut ‚Daten-id‘ mit dem folgenden Code zu behalten:

var Parchment = Quill.import('parchment'); 
var dataId = new Parchment.Attributor.Attribute('data-id', 'data-id', { 
    scope: Parchment.Scope.BLOCK 
}); 
Quill.register(dataId); 

jedoch auf eine neue Linie zu schaffen, die gleichen Daten (die Enter-Taste drücken) -id erscheint auch im neuen Absatz. Wie stelle ich sicher, dass der neue Absatz entweder eine benutzerdefinierte Daten-ID hat oder das Attribut "Daten-ID" nicht enthält?

Antwort

0

Ich würde empfehlen, Ereignisbehandlung in der textChanged-Methode hinzuzufügen. Sie könnten das Delta überprüfen und sehen, ob die 'Einfügung' auch ein Feld 'Attribute' enthält, das dazu führen würde, dass es geändert wird. In diesem Fall können Sie ein updateContents auslösen, das über den aktuellen Auswahlindex beibehalten wird. Löschen Sie dann die Länge der Einfügung und fügen Sie sie ohne die Attribute wieder ein.

Verwandte Themen