我对图表(primeng)有一个概述,现在我需要知道是否可以在点击时从图表中获取ID。
仅供参考我有一个上下文菜单,其中包含"在新标签中打开"我需要从图表中开启上下文菜单的ID。
Rightclick - >来自图表的getID - >使用ID打开新选项卡,仅显示该图表。
我看过像event.target.attributes.id /event.currenttarget这样的东西,但那是js,对吧?我正在使用Typescript。
所以问题实际上就是这么简单:我怎么能这样做?
我是与编程有关的所有内容的新手,几周前我已经开始了,所以请耐心等待,因为我可能无法像其他人那样快速地理解所有内容。
编辑:
上下文菜单的MenuItems:
this.ctitems = [
{
label: 'Öffnen(neuer Tab)',
icon: 'fa-plus',
command: (onClick) => {this.function()}
},
{
label: 'Öffnen(dieser Tab)',
icon: 'fa-hand-o-down'
}
];
获取id的函数
function() { event.target.getID <- problem }
只要我有ID,我就想将ID指定的项目推送到TabMenu中显示的项目数组中。但那就是未来。现在我只需要获取ID。
html:
<p-chart height="100" width="100" class="ui-g-2 " type="line" id="linechart" [data]="ntwdata"></p-chart>
<p-contextMenu id="cm" [model]="ctitems"></p-contextMenu>
答案 0 :(得分:5)
您未将event
变量传递给您的函数,因此您无法使用它。
像这样定义你的命令,然后它应该工作:
this.ctitems = [
{
label: 'Öffnen(neuer Tab)',
icon: 'fa-plus',
command: (event) => onClick(event)
},
{
label: 'Öffnen(dieser Tab)',
icon: 'fa-hand-o-down'
}
];
[...]
onClick(event) {
let target = event.target || event.srcElement || event.currentTarget;
let idAttr = target.attributes.id;
let id = idAttr.nodeValue;
console.log(id);
}