Как использовать quill-better-table внутри react-quill
Я пытаюсь вставить таблицу в react-quill, используя библиотеку quill-better-table. Я заметил, что здесь есть связанный пример простого js: https://codepen.io/soccerloway/pen/WWJowj использует функцию quill.getModule('better-table'), чтобы получить модуль, а затем вставить таблицу. Я пытался сделать это с помощью react-quill и react-quill-with-table, но функция не определена. Может ли реагирующая версия библиотеки работать с quill-better-table?
import ReactQuill, { Quill, Mixin, Toolbar } from 'react-quill-with-table'; // ES6
import QuillBetterTable from "quill-better-table";
export default function MyQuillTextEditor(props) {
const modules = {
toolbar: [
[{ 'header': [1, 2, false] }],
['bold', 'italic', 'underline','strike', 'blockquote'],
[{'list': 'ordered'}, {'list': 'bullet'}, {'indent': '-1'}, {'indent': '+1'}],
['link', 'image'],
['clean']
],
table: false, // disable table module
"better-table": {
operationMenu: {
items: {
unmergeCells: {
text: "Another unmerge cells name"
}
}
}
},
keyboard: {
bindings: QuillBetterTable.keyboardBindings
}
}
const formats = [
'header',
'bold', 'italic', 'underline', 'strike', 'blockquote',
'list', 'bullet', 'indent',
'link', 'image'
]
let editor = null;
const addTable = (e) => {
e.preventDefault();
Quill.getModule("better-table");
}
return (
<div>
<ButtonGroup size="small" aria-label="small button group">
<Button onClick>Add Row</Button>
<Button>Add Column</Button>
<Button>Delete Table</Button>
<Button onClick={(event) =>addTable(event)}>Add Table</Button>
</ButtonGroup>
<ReactQuill theme="snow"
ref={(el) =>{editor = el}}
modules={modules}
formats={formats}
theme="snow"
>
</ReactQuill>
</div>
)
}
2 ответа
Прямо сейчас вы не можете использовать quill-better-table с react-quill.
вы можете посмотреть здесь для получения дополнительной информации:https://github.com/soccerloway/quill-better-table/issues/42
У меня такая же проблема, и теперь я ее решил. ты можешь попробовать
Quill.getModule("better-table");
к
this.quillRef.getEditor().getModule('better-table');
а также
<ReactQuill theme="snow"
ref={(el) =>{editor = el}}
modules={modules}
formats={formats}
theme="snow"
>
к
<ReactQuill theme="snow"
ref={(el) =>{this.quillRef = el}}
modules={modules}
formats={formats}
theme="snow"
>