javascript - 更改事件来自哪里以及如何在 mat-selection-list 中停止它
问题描述
我正在使用mat-selection-list
inside amat-menu
来过滤一些项目。每当菜单关闭时,选择列表似乎会触发valueChanges
表单上的事件。我该如何阻止这个?与菜单和输入相同,不会valueChanges
在菜单关闭时触发。
<button [matMenuTriggerFor]="m">Foo</button>
<mat-menu #m="matMenu" [overlapTrigger]="false" [formGroup]="form">
<ng-template matMenuContent>
<mat-selection-list (click)="$event.stopPropagation();" formControlName="foo">
<mat-list-option [value]="item" *ngFor="let item of [1,2]">{{item}}</mat-list-option>
</mat-selection-list>
</ng-template>
</mat-menu>
<button [matMenuTriggerFor]="m1">Foo1</button>
<mat-menu #m1="matMenu" [overlapTrigger]="false" [formGroup]="form1">
<ng-template matMenuContent>
<input formControlName="foo1" (click)="$event.stopPropagation();">
</ng-template>
</mat-menu>
this.form.valueChanges.subscribe(e => {
// gets triggered on menu close
console.log('changed form', e);
});
this.form1.valueChanges.subscribe(e => {
// doesn't get triggered on menu close
console.log('changed form1', e);
})
有什么办法可以在关闭时停止更改事件?
解决方案
推荐阅读
- python - 连接绘图中 zip 列表中的点。Python
- dremio - 可以通过分区重新加载dremio反射吗?
- unity3d - 动画正在移动盒子对撞机而不是统一的对象
- solana - 如何在资源管理器中隐藏帐户?
- asp.net-core - 如何在没有 assemblyinfo.cs 的情况下将 RootNamespace 属性添加到项目以修复本地化?
- python - 为什么导入一个文件的函数时需要引入参数
- mysql - 如何在 SQL 中使用 UNION 时将行源添加为另一列
- python - MatplotlibDeprecationWarning: '.predictImage()' 已被弃用!请改用'classifyImage()'
- javascript - 如何将自定义工具提示放置在绘图条形图中的条形顶部?
- json - 从 JSON 响应 TERADATA 中提取多个值