如何使用简单的javascript在Quill中设置格式列表有序,项目符号,缩进输入,输出,文本颜色,背景文本颜色

问题描述

我想为 quill 文本编辑器设置列表格式(有序、项目符号)、缩进(入、出)、文本颜色、背景文本颜色。 我使用 this.quill.format('list',true) 这个函数来格式化列表。但它设置为项目符号认值。我无法设置数字排序列表。我查文档显示使用

  1. 订单列表 => {'list':'ordered'}
  2. 无序 => {'list':'bullet'}
  3. 缩进 => {'indent':'+1'} 就像那样。

我无法使用 javascript 执行此命令。它给出了参数错误

我使用 https://quilljs.com/docs/formats/ 这种方式传递格式。

quill 的正确格式方式是什么?

解决方法

我猜您使用 ngx-quill 是因为 tag。您可以覆盖默认的 Quill 工具栏并创建自定义工具栏。您只需要在 <quill-editor> </quill-editor> 标签内指定您的自定义。

尝试在 <quill-editor> </quill-editor> 之间添加此代码:


 <div quill-editor-toolbar>

                    <span class="ql-formats">
                      <button class="ql-bold" ngbPopover="Bold" triggers="mouseenter:mouseleave"></button>
                      <button class="ql-italic" ngbPopover="Italic" triggers="mouseenter:mouseleave"></button>
                      <button class="ql-underline" ngbPopover="Underline" triggers="mouseenter:mouseleave"></button>
                      <button class="ql-strike" ngbPopover="Strikethrough" triggers="mouseenter:mouseleave"></button>
                    </span>

                    <span class="ql-formats">
                      <button class="ql-blockquote" ngbPopover="Blockquote" triggers="mouseenter:mouseleave"></button>
                      <button class="ql-code-block" ngbPopover="Code block" triggers="mouseenter:mouseleave"></button>
                    </span>

                    <span class="ql-formats">
                      <button class="ql-list" value="ordered" ngbPopover="Ordered list" triggers="mouseenter:mouseleave"></button>
                      <button class="ql-list" value="bullet" ngbPopover="Bulleted list" triggers="mouseenter:mouseleave"></button>
                    </span>

                    <span class="ql-formats">
                      <button class="ql-script" value="sub" ngbPopover="Subscript" triggers="mouseenter:mouseleave"></button>
                      <button class="ql-script" value="super" ngbPopover="Superscript" triggers="mouseenter:mouseleave"></button>
                    </span>

                    <span class="ql-formats">
                      <button class="ql-indent" value="-1" ngbPopover="Indent -1" triggers="mouseenter:mouseleave"></button>
                      <button class="ql-indent" value="+1" ngbPopover="Indent +1" triggers="mouseenter:mouseleave"></button>
                    </span>

                    <span class="ql-formats">
                      <button class="ql-direction" value="rtl" ngbPopover="Text direction" triggers="mouseenter:mouseleave"></button>
                    </span>

                    <span class="ql-formats" ngbPopover="Font size" triggers="mouseenter:mouseleave">
                      <select class="ql-size">
                        <option value="small"></option>
                        <option selected></option>
                        <option value="large"></option>
                        <option value="huge"></option>
                      </select>
                    </span>

                    <span class="ql-formats" ngbPopover="Text color" triggers="mouseenter:mouseleave">
                      <select class="ql-color">
                        <option selected></option>
                        <option value="#e60000"></option>
                        <option value="#ff9900"></option>
                        <option value="#ffff00"></option>
                        <option value="#008a00"></option>
                        <option value="#0066cc"></option>
                        <option value="#9933ff"></option>
                        <option value="#ffffff"></option>
                        <option value="#facccc"></option>
                        <option value="#ffebcc"></option>
                        <option value="#ffffcc"></option>
                        <option value="#cce8cc"></option>
                        <option value="#cce0f5"></option>
                        <option value="#ebd6ff"></option>
                        <option value="#bbbbbb"></option>
                        <option value="#f06666"></option>
                        <option value="#ffc266"></option>
                        <option value="#ffff66"></option>
                        <option value="#66b966"></option>
                        <option value="#66a3e0"></option>
                        <option value="#c285ff"></option>
                        <option value="#888888"></option>
                        <option value="#a10000"></option>
                        <option value="#b26b00"></option>
                        <option value="#b2b200"></option>
                        <option value="#006100"></option>
                        <option value="#0047b2"></option>
                        <option value="#6b24b2"></option>
                        <option value="#444444"></option>
                        <option value="#5c0000"></option>
                        <option value="#663d00"></option>
                        <option value="#666600"></option>
                        <option value="#003700"></option>
                        <option value="#002966"></option>
                        <option value="#3d1466"></option>
                      </select>
                    </span>

                    <span class="ql-formats" ngbPopover="Background color" triggers="mouseenter:mouseleave">

                      <select class="ql-background">
                        <option value="#000000"></option>
                        <option value="#e60000"></option>
                        <option value="#ff9900"></option>
                        <option value="#ffff00"></option>
                        <option value="#008a00"></option>
                        <option value="#0066cc"></option>
                        <option value="#9933ff"></option>
                        <option selected></option>
                        <option value="#facccc"></option>
                        <option value="#ffebcc"></option>
                        <option value="#ffffcc"></option>
                        <option value="#cce8cc"></option>
                        <option value="#cce0f5"></option>
                        <option value="#ebd6ff"></option>
                        <option value="#bbbbbb"></option>
                        <option value="#f06666"></option>
                        <option value="#ffc266"></option>
                        <option value="#ffff66"></option>
                        <option value="#66b966"></option>
                        <option value="#66a3e0"></option>
                        <option value="#c285ff"></option>
                        <option value="#888888"></option>
                        <option value="#a10000"></option>
                        <option value="#b26b00"></option>
                        <option value="#b2b200"></option>
                        <option value="#006100"></option>
                        <option value="#0047b2"></option>
                        <option value="#6b24b2"></option>
                        <option value="#444444"></option>
                        <option value="#5c0000"></option>
                        <option value="#663d00"></option>
                        <option value="#666600"></option>
                        <option value="#003700"></option>
                        <option value="#002966"></option>
                        <option value="#3d1466"></option>
                      </select>
                    </span>

                    <span class="ql-formats"  ngbPopover="Font" triggers="mouseenter:mouseleave">
                      <select class="ql-font">
                        <option selected></option>
                        <option value="serif"></option>
                        <option value="monospace"></option>
                      </select>
                    </span>

                    <span class="ql-formats" ngbPopover="Alignment" triggers="mouseenter:mouseleave">
                      <select class="ql-align">
                        <option selected></option>
                        <option value="center"></option>
                        <option value="justify"></option>
                        <option value="right"></option>
                      </select>
                    </span>

                    <span class="ql-formats">
                      <button class="ql-clean" ngbPopover="Clear all formatting" triggers="mouseenter:mouseleave"></button>
                    </span>

                    <span class="ql-formats">
                      <button class="ql-link" ngbPopover="Link" triggers="mouseenter:mouseleave"></button>
                      <button class="ql-image" ngbPopover="Image" triggers="mouseenter:mouseleave"></button>
                      <button class="ql-video" ngbPopover="Video" triggers="mouseenter:mouseleave"></button>
                    </span>

</div>

这是我的自定义,包括默认 Quill 工具栏包含的所有内容,但由于我使用的插件,还包含一些额外的内容。此外,它还有工具栏每个部分的工具提示。您可以根据需要对其进行修改,但此自定义包括有序列表和无序列表以及缩进。

,

如果你想在 Quill 中格式化一行,你应该使用 quill.formatLine()

而不是使用 true 作为列表的值,您还可以指定 ordered。所以给出这个文件:

foo
bar
baz

您可以将第二行设置为这样的有序列表:

quill.formatLine(4,'list','ordered');

其中 4bar 行的开始(因为作为原始字符串,上面看起来像 foo\nbar\nbaz)。

这是一个working example