Angular 停止mat的事件传播选择mat内复选框
我有一个Angular 停止mat的事件传播选择mat内复选框,angular,angular-material,event-handling,Angular,Angular Material,Event Handling,我有一个在里面。当发生更改时,它还会切换,我不希望发生这种情况 我已尝试使用“$event.stopPropagation()”,但它不起作用。有没有办法解决这个问题 <mat-checkbox [(ngModel)]="myCheckboxModel" (change)="onChangeFunction()"> <mat-form-field> <mat-select [(ngModel)]="mySelectModel">
在
里面。当
发生更改时,它还会切换
,我不希望发生这种情况
我已尝试使用“$event.stopPropagation()”,但它不起作用。有没有办法解决这个问题
<mat-checkbox [(ngModel)]="myCheckboxModel" (change)="onChangeFunction()">
<mat-form-field>
<mat-select [(ngModel)]="mySelectModel">
<mat-option value="1">1</mat-option>
<mat-option value="2">2</mat-option>
</mat-select>
</mat-form-field>
</mat-checkbox>
1.
2.
我对嵌套的垫选择列表
项也有同样的问题
这对我有用
selectionChange(event: MatSelectionListChange)
{
window['event']?.stopPropagation();
}
我今天刚刚发现window.event
,但在这个确切的上下文中,这并不容易,因为angular没有给出底层事件
如果您正在使用SSR,请确保不要以编程方式调用它,因为未定义
窗口
。也许您可以使用CSS防止在有人单击选择复选框时触发选择复选框。。。您向哪个元素添加了$event.stopPropagation()
?这适用于自动完成,也适用于选择:。对于复选框,您可能需要$event.preventDefault()
@g-tranter在
上添加$event.stopPropagation()
以阻止单击事件冒泡到上述复选框。工作得很有魅力!谢谢!