Comment puis-je initialiser la table dans quill js 2.0.?
J'ai essayé en utilisant le mot-clé table dans la barre d'outils il montre l'icône de la table mais je n'ai pas pu créer la table.
Essayez de fournir un module de table lors de la création de votre éditeur comme ceci:
var editor = new Quill( '#editor', {
theme: 'snow',
modules: {
table: true
}
} );
Et puis juste référencer le module de table:
const table = editor.getModule('table');
En utilisant une variable de table, vous pouvez déclencher différentes méthodes pour les tables:
table.insertTable(2, 2);
Un exemple complet peut être trouvé ici: https://codepen.io/quill/pen/QxypzX
J'aime beaucoup l'extensibilité de Quill. J'implémente un module quill-better-table pour ajouter le support des tables. J'espère que quill-better-table pourrait aider quelqu'un qui a besoin de modifier/rendre le tableau dans quilljs. Exigences: quill.js v2.0.0-dev.3
Il y a une paix de code qui semble très bien fonctionner pour ajouter des tables à QuillJs:
https://codepen.io/quill/pen/QxypzX
var bubble = new Quill('#bubble-container', {
theme: 'bubble',
modules: {
table: true,
}
});
var snow = new Quill('#snow-container', {
theme: 'snow',
modules: {
table: true,
}
});
var output = new Quill('#output-container', {
theme: 'bubble',
modules: { table: true },
readOnly: true,
})
bubble.on('text-change', function(delta, old, source) {
if (source === 'user') {
snow.updateContents(delta, 'api');
updateOutput();
}
});
const table = snow.getModule('table');
snow.on('text-change', function(delta, old, source) {
if (source === 'user') {
bubble.updateContents(delta, 'api');
updateOutput();
}
});
function updateOutput() {
const bubbleContent = bubble.getContents();
const snowContent = snow.getContents();
// TODO compare
output.setContents(bubbleContent);
const outputContent = output.getContents();
// TODO compare outputContent
}
document.querySelector('#insert-table').addEventListener('click', function() {
table.insertTable(3, 3);
});
document.querySelector('#insert-row-above').addEventListener('click', function() {
table.insertRowAbove();
});
document.querySelector('#insert-row-below').addEventListener('click', function() {
table.insertRowBelow();
});
document.querySelector('#insert-column-left').addEventListener('click', function() {
table.insertColumnLeft();
});
document.querySelector('#insert-column-right').addEventListener('click', function() {
table.insertColumnRight();
});
document.querySelector('#delete-row').addEventListener('click', function() {
table.deleteRow();
});
document.querySelector('#delete-column').addEventListener('click', function() {
table.deleteColumn();
});
document.querySelector('#delete-table').addEventListener('click', function() {
table.deleteTable();
});