目标:如果用户单击任何 top 级mat-expansion-panel-header元素,然后折叠任何打开的 nested 级mat-expansion-panel-header元素,例如:
- 点击主标题1 将其展开
- 点击副标题1 展开
- 单击主标题1 将其折叠。这应该会触发使子标题1 崩溃的事件。
从本质上讲,这是一项“整理”任务,如果用户将面板扩展为展开状态,则将其清除。
问题:如果快速连续双击 top 级别的mat-expansion-panel-header元素之一(例如:在展开/折叠动画仍在运行时),则出现以下错误在控制台中抛出:
ExpressionChangedAfterItHaHasBeenCheckedError:检查表达式后,表达式已更改。先前的值:'mat-expanded:false'。当前值:“ mat-expanded:true”。
如果继续触发这些错误,最终它将无限期触发,并且浏览器完全锁定。
在此处查看Stackblitz项目:https://stackblitz.com/edit/expression-changed-error
我正在考虑执行诸如禁用点击操作之类的操作,直到打开/关闭动画结束为止,但是我确定一定有原因会导致这种情况并对此进行适当的修复。