Как удалить вкладку с панели инструментов primeng p-editor в angular 8? - PullRequest
5 голосов
/ 27 мая 2020

Это 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>

Ответы [ 2 ]

3 голосов
/ 29 мая 2020

Вы почти достигли этого, но добавили 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 ссылка .

0 голосов
/ 04 июня 2020

Это работает для меня в angular 9.

  ngAfterViewInit() {
     const test = this.pEditor.el.nativeElement;
     const elements = test.querySelectorAll('.ql-picker-label');
     for (let i = 0; i < elements.length; i++) {
     elements[i].removeAttribute('tabindex');
    }
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...