6

我在扩展 Quill 时遇到了一些问题。

我想修改 Quill 中的ListListItem类,所以我尝试将其复制formats/list.js到我的代码库中作为起点。然后我导入我的本地副本并像这样在 Quill 注册它......

import { List, ListItem } from './quill/list';

Quill.register({
    'formats/list': List,
    'formats/list/item': ListItem
}, true);

但是,当我尝试在编辑器中创建列表时,代码在 List 类中崩溃并出现以下错误:

ParchmentError {message: "[Parchment] Unable to create list-item blot", name: "ParchmentError"}

这发生在这一行...... https://github.com/quilljs/quill/blob/develop/formats/list.js#L99

我认为这与我被迫改变的进口有关,但我不知道出了什么问题。我没有对 list.js 进行任何其他更改。原始文件具有以下内容:-

import Block from '../blots/block';
import Container from '../blots/container';

我改成这个: -

import Quill from 'quill';
let Block = Quill.import('blots/block');
let Container = Quill.import('blots/container');

我导入的方式不对吗?是什么导致了错误?

4

2 回答 2

6

想通了(一位同事做到了)。

我需要像这样导入羊皮纸:-

let Parchment = Quill.import('parchment');

代替import Parchment from 'parchment';

这是因为您最终会得到一个与 Quill 内部使用的静态 Parchment 类不同的静态 Parchment 类,因此向 Quill 询问它的实例可确保您使用的是同一个(即,记录印迹的那个)。

于 2016-12-22T16:17:20.793 回答
2

几个小时前我遇到了这个问题。

在 Quill 的源代码中,List是默认导出,ListItem而是命名导出。

所以你的导入应该是这样的:

import List, { ListItem } from './quill/list';

请务必在您的自定义list.js文件中适当地导出它们。

祝你好运!

于 2016-12-21T09:37:07.980 回答