pra*_*lli 3 html javascript typescript angular-material angular
我有一个mat-button-toggle-group,其中有5个mat-button-toggle。我需要在点击或更改val时触发一个事件,尽管我更喜欢将其作为点击事件。
此处提供的文档显示没有单击事件,但是有更改事件。
我也尝试过change事件(如下所示),但未触发该事件。
<mat-button-toggle-group #group="matButtonToggleGroup" [(ngModel)]="rowAction">
<mat-button-toggle value="raw_swift_msg" (change)="onValChange(value)" matTooltip="View Message">
<i class="fa fa-eye" style="color:#455A64" aria-hidden="true"></i>
</mat-button-toggle>
<mat-button-toggle value="message_comment" matTooltip="Message Comment">
<i class="fa fa-comments" style="color:#455A64" aria-hidden="true"></i>
</mat-button-toggle>
<mat-button-toggle value="link_trade" hasAccess id="LinkMessagePopup" matTooltip="Link Message">
<i class="fa fa-link" style="color:#455A64" aria-hidden="true"></i>
</mat-button-toggle>
<mat-button-toggle value="audit_trail" matTooltip="View Audit">
<i class="fa fa-history" style="color:#455A64" aria-hidden="true"></i>
</mat-button-toggle>
<mat-button-toggle hasAccess id="MessagePopup" value="move_message" matTooltip="Move message">
<i class="fa fa-exchange" style="color:#455A64" aria-hidden="true"></i>
</mat-button-toggle>
<mat-button-toggle value="log" matTooltip="View log">
<i class="fa fa-book" style="color:#455A64" aria-hidden="true"></i>
</mat-button-toggle>
</mat-button-toggle-group>
Run Code Online (Sandbox Code Playgroud)
在我的.ts文件中
从'@ angular / material / button-toggle'导入{MatButtonToggleModule};
onValChange(val: string) {
this.selectedVal = val;
}
Run Code Online (Sandbox Code Playgroud)
如何触发上述变更功能?
Rac*_*hit 16
在整个 mat-button-toggle-group 上获取更改事件的更简单的解决方案是在组上设置更改事件,而不是在每个切换按钮上设置更改事件。
<mat-button-toggle-group (change)="onValChange($event.value)">
<mat-button-toggle value="bold">Bold</mat-button-toggle>
<mat-button-toggle value="italic">Italic</mat-button-toggle>
<mat-button-toggle value="underline">Underline</mat-button-toggle>
</mat-button-toggle-group>
Run Code Online (Sandbox Code Playgroud)
现在您可以在组件中监听该事件:
onValChange(value) {
console.log(value);
}
Run Code Online (Sandbox Code Playgroud)
为我工作。
它应该是 :
的HTML:
<mat-button-toggle-group #group="matButtonToggleGroup">
<mat-button-toggle value="raw_swift_msg" (change)="onValChange($event.value)" matTooltip="View Message">
<i class="fa fa-eye" style="color:#455A64" aria-hidden="true"></i>
</mat-button-toggle>
<mat-button-toggle (change)="onValChange($event.value)" value="message_comment" matTooltip="Message Comment" >
<i class="fa fa-comments" style="color:#455A64" aria-hidden="true"></i>
</mat-button-toggle>
</mat-button-toggle-group>
Run Code Online (Sandbox Code Playgroud)
零件:
onValChange(value){
console.log(value)
}
Run Code Online (Sandbox Code Playgroud)
检查此工作stackblitz