Как добавить атрибуты в свойство задней метки слайдмена PrimeNG? - PullRequest
0 голосов
/ 05 ноября 2019

Используя PrimeNG для собственных компонентов пользовательского интерфейса Angular, существует меню «slidemenu», которое имеет полезное свойство «backLabel». Это свойство в конечном итоге создает кнопку для возврата к предыдущему виду. Однако сгенерированная кнопка «Назад» пропускается при переходе по странице.

Моя идея состоит в том, чтобы добавить атрибут "tabindex" к элементу, однако я не могу найти способ сделать это, я не вижу никакой документации по primeNG, которая показывает, как.

Угловой компонент выглядит следующим образом:

<p-slideMenu backLabel="Back" [model]="items" [menuWidth]="337"></p-slideMenu>

Когда он генерируется, он выглядит следующим образом: <span class="ng-classname">Back</span>

Я знаю, что могу получить доступ к CSS с помощью span.ng-classname как селектор, но я не вижу добавления атрибутов к элементу.

1 Ответ

1 голос
/ 06 ноября 2019

Вам необходимо использовать renderer2 для ссылки на ваш компонент p-slideMenu, а затем получить доступ к обратному ElementRef:

<p-slideMenu #myMenu></p-slideMenu>

, затем для вашего компонента, содержащего слайд-меню:

import { ViewChild } from '@angular/core';
import { SlideMenu } from 'primeng/slidemenu';

// (somewhere in your code where is needed)
//...
@ViewChild('myMenu') slider: SlideMenu;
//...
this.slider.renderer.setAttribute(this.slider.backward.nativeElement, 'tabindex', '1'); 

Таким образом, вы получите атрибут tabindex, установленный в обратном элементе управления слайдменю. Вы должны включить его в нужное время (то есть, когда ползунок полностью отображается). Вам может потребоваться выполнить некоторые действия по очистке (например, уничтожить и т. Д.). в зависимости от вашего ожидаемого поведения в вашем коде и т. д.

...