angular - 使用 Angular 10 中的鹅毛笔编辑器自定义字体大小

标签 angular quill

我正在尝试在 Quill 编辑器中获取自定义字体大小,如下所示

enter image description here

我写了下面的代码

 <quill-editor [formControlName]="formControlData?.name" [options]="editorOptions"
        (ready)="onEditorCreated($event)" (change)="onContentChanged($event)">

      </quill-editor> 

下面是配置

   public editorOptions = {
theme: 'snow',
modules: {
  toolbar: {
    container:
      [
        [{ 'placeholder': ['[GuestName]', '[HotelName]'] }], // my custom dropdown
        ['bold', 'italic', 'underline', 'strike'],        // toggled buttons
        //  ['blockquote', 'code-block'],

        [{ 'header': 1 }, { 'header': 2 }],               // custom button values
        [{ 'list': 'ordered' }, { 'list': 'bullet' }],
        [{ 'script': 'sub' }, { 'script': 'super' }],      // superscript/subscript
        [{ 'indent': '-1' }, { 'indent': '+1' }],          // outdent/indent
        [{ 'direction': 'rtl' }],                         // text direction
        [{ 'size': Size.whitelist }],
        //  [{ 'size': ['small', false, 'large', 'huge'] }],  // custom dropdown
        [{ 'header': [1, 2, 3, 4, 5, 6, false] }],

        //  [{ 'color': [] }, { 'background': [] }],          // dropdown with defaults from theme
        // [{ 'font': ['10px', '20px', '80px'] }],
        //  [{ 'align': [] }],

        //  ['clean']                                    // remove formatting button
        ['link', 'image']
      ],
    handlers: {
      "placeholder": function (value) {
        if (value) {
          const cursorPosition = this.quill.getSelection().index;
          this.quill.insertText(cursorPosition, value);
          this.quill.setSelection(cursorPosition + value.length);
        }
      }
    }
  }
}
  };


var Size = Quill.import('attributors/style/size');
Size.whitelist = ['12px', '16px', '18px'];
Quill.register(Size, true);

当我运行代码时。我看到下面的输出。你能告诉我我做错了什么

enter image description here

最佳答案

import * as QuillNamespace from 'quill';

Quill: any = QuillNamespace;

ngOnInit() {
    const fontSizeArr = ['6px', '8px', '9px','10px', '11px', '12px', '13px', '14px', '16px', '18px', '24px', '30px', '36px', '48px'];
    const Size = this.Quill.import('attributors/style/size');
    Size.whitelist = fontSizeArr;
    this.Quill.register(Size, true);
  }

在 html 中

<span class="ql-formats">
        <select class="ql-size" [title]="'Size'">
          <option value="6px"></option>
          <option value="8px"></option>
          <option value="9px"></option>
          <option value="10px"></option>
          <option value="11px"></option>
          <option selected value="12px"></option>
          <option value="13px"></option>
          <option value="14px"></option>
          <option value="16px"></option>
          <option value="18px"></option>
          <option value="24px"></option>
          <option value="30px"></option>
          <option value="36px"></option>
          <option value="48px"></option>
        </select>
      </span>

在 syles.scss 中

/字体大小/

.ql-snow .ql-picker.ql-size .ql-picker-label[data-value]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value]::before {
  content: attr(data-value) !important;
}

关于angular - 使用 Angular 10 中的鹅毛笔编辑器自定义字体大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68582094/

相关文章:

javascript - Aurelia 中的 Angular 2 EventEmitter

angular - ngselect 中未显示占位符

javascript - 将 react-quill 用于博客应用程序,以便用户可以创建帖子。如何在 React 中正确显示一串 html 元素?

javascript - 将对象存储在 firebase 中以便稍后以简单的方式重新排序的正确方法是什么?

angular - 需要在 Angular 6 应用程序中的 dx-data-grid 中的单元格上悬停时显示自定义工具提示(dx-tooltip)

angular - 在 Angular 4 中使用 POST 时获得 200 状态但仍然出现错误

javascript - 如何在 Quill Editor-React 中更改图像大小?

ruby-on-rails - 如何捕获在富文本编辑器中输入的内容并将其保存在 Rails 模型中? - 羽毛笔丰富的编辑器

javascript - 无法访问模块函数中的 quill 实例

jquery - 克隆到 dom 后如何初始化 Quill 编辑器