SUR*_*ANE 5 html dom primeng angular7
我在 Angular 7 项目中使用 primeNg 组件。
<p-menu [model]="items" ></p-menu>
Run Code Online (Sandbox Code Playgroud)
在处理此组件时,我们无法访问其内部结构来显示所选的单击菜单项。当选择某个菜单并更改其颜色时推送活动类。
有人对此有任何想法吗?
经过一番研究,我找到了解决这个问题的方法。
网页:
<p-menu [model]="items" (click) = "activeMenu($event)"></p-menu>
Run Code Online (Sandbox Code Playgroud)
单击菜单组件时,我添加了 activeMenu($event) 方法。$event 携带单击的 DOM 元素,即菜单项元素。
成分:
在组件上,我编写了以下代码。
activeMenu(event) {
let node;
if (event.target.tagName === "A") {
node = event.target;
} else {
node = event.target.parentNode;
}
let menuitem = document.getElementsByClassName("ui-menuitem-link");
for (let i = 0; i < menuitem.length; i++) {
menuitem[i].classList.remove("active");
}
node.classList.add("active")
Run Code Online (Sandbox Code Playgroud)
}