Skip to content

Commit

Permalink
fix(menu): changed after checked error when toggling quickly between …
Browse files Browse the repository at this point in the history
…triggers for same submenu (#12209)
  • Loading branch information
crisbeto authored and josephperrott committed Jul 18, 2018
1 parent 7301fa0 commit b53b66a
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion src/lib/menu/menu-trigger.ts
Original file line number Diff line number Diff line change
Expand Up @@ -501,8 +501,10 @@ export class MatMenuTrigger implements AfterContentInit, OnDestroy {
// while the new trigger tries to re-open it. Wait for the animation to finish
// before doing so. Also interrupt if the user moves to another item.
if (this.menu instanceof MatMenu && this.menu._isAnimating) {
// We need the `delay(0)` here in order to avoid
// 'changed after checked' errors in some cases. See #12194.
this.menu._animationDone
.pipe(take(1), takeUntil(this._parentMenu._hovered()))
.pipe(take(1), delay(0, asapScheduler), takeUntil(this._parentMenu._hovered()))
.subscribe(() => this.openMenu());
} else {
this.openMenu();
Expand Down

0 comments on commit b53b66a

Please sign in to comment.