angular-material - 如何获取点击的 mat-button 而不是 mat-button 包装器的 id?

标签 angular-material material-design angular7

我正在使用 Material 我的设计 Angular7 项目。垫子按钮上有一个点击事件。

  itemclick(event: Event) {
 //to know the id of clicked element,ie button
 let elementId: string = (event.target as Element).id;
 console.log(elementId);
 }

这是 HTML
<button mat-button color="primary" id="test1" (click)="itemclick($event)" style="outline: none">Property1</button>

但我并不总是得到 id,因为 (event.target) 在 mat-button(id=test1 的情况)和 mat-button-wrapper(id 为空的情况)之间不断随机变化。

如何解决这个问题?
提前致谢。

最佳答案

将您的功能替换为:

HTML:

<button mat-button #test color="primary" id="test1" (click)="itemclick(test)" style="outline: none">Property1</button>

TS:
itemclick(event) {
   console.log(event._elementRef.nativeElement.id)
}

StackBlitz

关于angular-material - 如何获取点击的 mat-button 而不是 mat-button 包装器的 id?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54121971/

相关文章:

Android自定义圆形ProgressBar方向

android - 共享元素和圆形显示

json - 如何忽略 Angular7 中的对象字段

Angular Material 6.2.1 "mat-form-field-infix"覆盖宽度

angular - mat-card-avatar 在初始页面加载时无法正确呈现

reactjs - 选择数据表中的行(mui-datatable)

datepicker - 获取错误无法测试类型为 'void' 的表达式的真实性角度 7

jquery - 单击弹出 Angular7 后更改鼠标指针位置

css - 如何将分页对齐到屏幕的底部中心?

javascript - IndexOf 指示对象不存在,即使它应该存在