angular - 如何从 angular 8 中的primeng p-editor 的工具栏中删除选项卡?

标签 angular editor primeng quill

这是m代码。 tabIndex ="-1"适用于大多数,但它不适用于 select 标签和 "ql-image"。我想从它们中删除所有选项卡,并希望焦点直接在编辑器框中而不是工具中。

 <p-editor #editor required [(ngModel)]="comment.comment" name="comment"  class="pEditor"
        [style]="{ height: '180px', 'font-size': '1.2em' }">

        <p-header>

          <span class="ql-formats">
            <select class="ql-header" tabindex="-1">
              <option value="1" tabindex="-1">Heading</option>
              <option value="2" tabindex="-1">Subheading</option>
              <option selected tabindex="-1">Normal</option>
            </select>
            <select class="ql-font" tabindex="-1">
              <option selected tabindex="-1">Sans Serif</option>
              <option value="serif" tabindex="-1">Serif</option>
              <option value="monospace" tabindex="-1">Monospace</option>
            </select>
          </span>
          <span class="ql-formats">
            <button class="ql-bold" aria-label="Bold" tabindex="-1"></button>
            <button class="ql-italic" aria-label="Italic" tabindex="-1"></button>
            <button class="ql-underline" aria-label="Underline" tabindex="-1"></button>
          </span>
          <span class="ql-formats">
            <select class="ql-color" tabindex="2"></select>
            <select class="ql-background" tabindex="2"></select>
          </span>
          <span class="ql-formats">
            <button class="ql-list" value="ordered" aria-label="Ordered List" tabindex="-1"></button>
            <button class="ql-list" value="bullet" aria-label="Unordered List" tabindex="-1"></button>
            <select class="ql-align">
              <option selected tabindex="-1"></option>
              <option value="center" tabindex="-1"></option>
              <option value="right" tabindex="-1"></option>
              <option value="justify" tabindex="-1"></option>
            </select>
          </span>
          <span class="ql-formats">
            <button class="ql-link" aria-label="Insert Link" tabindex="-1"></button>
            <button class="ql-image" aria-label="Insert Image" tabindex="-1"></button>
            <button class="ql-code-block" aria-label="Insert Code Block" tabindex="-1"></button>
          </span>
          <span class="ql-formats">
            <button class="ql-clean" aria-label="Remove Styles" tabindex="-1"></button>
          </span>
        </p-header> 
      </p-editor>

最佳答案

您几乎已经实现了这一点,但在选择框中的错误位置添加了 tabindex="-1"。

 <select class="ql-header" tabindex="-1">

<p-editor #editor required name="comment" class="pEditor" [style]="{ height: '180px', 'font-size': '1.2em' }">

  <p-header>

    <span class="ql-formats">
            <select class="ql-header" tabindex="-1">
              <option value="1" tabindex="-1">Heading</option>
              <option value="2" tabindex="-1">Subheading</option>
              <option selected tabindex="-1">Normal</option>
            </select>
            <select class="ql-font" tabindex="-1">
              <option selected tabindex="-1">Sans Serif</option>
              <option value="serif" tabindex="-1">Serif</option>
              <option value="monospace" tabindex="-1">Monospace</option>
            </select>
          </span>
    <span class="ql-formats">
            <button class="ql-bold" aria-label="Bold" tabindex="-1"></button>
            <button class="ql-italic" aria-label="Italic" tabindex="-1"></button>
            <button class="ql-underline" aria-label="Underline" tabindex="-1"></button>
          </span>
    <span class="ql-formats">
            <select class="ql-color" tabindex="-1"></select>
            <select class="ql-background" tabindex="-1"></select>
          </span>
    <span class="ql-formats">
            <button class="ql-list" value="ordered" aria-label="Ordered List" tabindex="-1"></button>
            <button class="ql-list" value="bullet" aria-label="Unordered List" tabindex="-1"></button>
            <select class="ql-align" tabindex="-1">
              <option selected tabindex="-1"></option>
              <option value="center" tabindex="-1"></option>
              <option value="right" tabindex="-1"></option>
              <option value="justify" tabindex="-1"></option>
            </select>
          </span>
    <span class="ql-formats">
            <button class="ql-link" aria-label="Insert Link" tabindex="-1"></button>
            <button class="ql-image" aria-label="Insert Image" tabindex="-1"></button>
            <button class="ql-code-block" aria-label="Insert Code Block" tabindex="-1"></button>
          </span>
    <span class="ql-formats">
            <button class="ql-clean" aria-label="Remove Styles" tabindex="-1"></button>
          </span>
  </p-header>
</p-editor>


更新 1

Primeng 不会从选定的跨度中删除 tabindex。

你必须在你的 ngAfterViewInit 方法中删除它

ngAfterViewInit() {
  const spans = document.getElementsByClassName('ql-picker-label');
  for (let i = 0; i < spans.length; i++) {
    spans[i].removeAttribute('tabindex');
  }
}


这是stackblitz link .

关于angular - 如何从 angular 8 中的primeng p-editor 的工具栏中删除选项卡?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62035253/

相关文章:

angular - 如何将ts文件中接收到的参数显示到html页面

javascript - 如何使 dijit/编辑器手动调整大小?

visual-studio - 尝试将文件与服务器版本进行比较时出现问题

angular6 - 防止点击 prime ng Accordion 时展开

javascript - Angular 项目 - 为什么到处都要建模?

angular - 如何在 IntelliJ IDEA 社区版中开发 Angular/React

python - 如何在 Vim 中注释掉一段 Python 代码

javascript - Angular、PrimeNG - p 下拉菜单意外呈现

angular - “p-table”不是已知元素 :

angular - 从另一个组件导入一个组件