如何为PrimeNG的slidemenu backlabel属性添加属性?

时间:2019-11-05 18:39:27

标签: angular primeng

使用PrimeNG作为本地Angular UI组件,有一个名为“ slidemenu”的菜单,它具有一个有用的属性“ backLabel”。该属性最终创建一个用于导航回到上一个视图的按钮。但是,在整个页面中切换时,将跳过生成的后退按钮。

我的想法是向元素添加“ tabindex”属性,但是,我找不到解决方法,我看不到任何有关primeNG的文档来说明如何操作。

角度分量看起来像:

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

生成时,它看起来像:     <span class="ng-classname">Back</span>

我知道我可以使用span.ng-classname作为选择器来访问css,但是我仍然看不到向元素添加属性。

1 个答案:

答案 0 :(得分:1)

您需要在对p-slideMenu组件的引用上使用renderer2,然后访问向后的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属性集。您应该在适当的时间(即完全显示滑块时)添加它。您可能需要执行一些清理操作(例如销毁操作等)。取决于您对代码的预期行为等。