使用quill.js插入html或“templates”

时间:2017-02-11 13:52:16

标签: javascript quill

我想为quill.js创建一个html片段或模板,这将使我能够创建一个3列1行网格。即:

<div class="row">
  <div class="col col-4">
    column 1
  </div>
  <div class="col col-4">
    column 2
  </div>
  <div class="col col-4">
    column 3
  </div>
</div>

我尝试添加<div>标签,如下所示,但它不起作用并将标签打印为文本。

quill.setContents([
  { insert: '<div>' },
  { insert: 'World!', attributes: { bold: true } },
  { insert: '</div>\n' }
]);

我还在某处读过quill.js删除各种html标签,但我找不到如何在文档中允许它们。

对此有任何帮助将不胜感激。

干杯:)

2 个答案:

答案 0 :(得分:3)

请注意,如果您尝试使用列表组件作为扩展,您将在许多Quill.js问题中运行 - 它实际上不支持块内的块,因此您将无法嵌套div&#39 ; s仍然使用标题之类的功能,只能使用内联元素,并且您将无法使用<br/>标记,因为它们包含在<p></p>块中(块内没有块)或使用退格或输入密钥 - 这个解决方案受到严格限制,几乎无法扩展,没有人发现一个好的解决方法,你不能从问题板上说出来,因为与架构有关的问题被系统地删除了......你会发现您的增量保存将关闭,请确保您使用本机格式实际保存的任何扩展。我发现修改列表元素的答案非常误导,因为它与这里所述的要求明显不同......如果你在其中一个容器块中返回,它会拼接成一个新的块....嵌入功能也不再相同了,所以你将遇到麻烦的解决方法。

我的建议是尝试另一个框架,如slate.js或prosemirror,它们更新,有自己的问题,但不会遇到相同的架构缺陷,并且与一流的数据模型嵌套。你肯定会有更好的支持。

答案 1 :(得分:2)

Quill不允许您进行任意HTML修改,因为它们容易出错,并且使上一代富文本编辑器的声誉更加恶劣。羊皮纸是Quill的抽象,允许深度定制和良好的资源:Cloning Medium with Parchment

您可以将dangerouslyPasteHTML用于某些用例,但这会通过Quill的匹配器,因此粘贴的内容的HTML可能与您传入的内容不同。