-
Notifications
You must be signed in to change notification settings - Fork 6.8k
Closed
Labels
P3An issue that is relevant to core functions, but does not impede progress. Important, but not urgentAn issue that is relevant to core functions, but does not impede progress. Important, but not urgentarea: material/core
Description
Is this a regression?
- Yes, this behavior used to work in the previous version
The previous version in which this bug was not present was
9.2.0
Description
The RippleRenderer
register pointer up events only once: that "breaks" matRippleTrigger
input from MatRipple
directive and prevents destruction of new ripple elements after trigger element change.
This issue was introduced since @angular/material v9.2.1 (commit 9a16e60 in GH-18633 ).
How to fix: mark pointer up events as not registered in RippleRenderer::_removeTriggerEvents
.
diff --git a/src/material/core/ripple/ripple-renderer.ts b/src/material/core/ripple/ripple-renderer.ts
index 87c1520c2..dc0296ce1 100644
--- a/src/material/core/ripple/ripple-renderer.ts
+++ b/src/material/core/ripple/ripple-renderer.ts
@@ -433,6 +433,8 @@ export class RippleRenderer implements EventListenerObject {
pointerUpEvents.forEach(type =>
trigger.removeEventListener(type, this, passiveCapturingEventOptions),
);
+
+ this._pointerUpEventsRegistered = false;
}
}
}
Reproduction
StackBlitz link: https://stackblitz.com/edit/components-issue-z9j3qe
Steps to reproduce:
- Click on "Trigger A" button
- Click on "Change Trigger Button" button
- Click on "Trigger B" button
Expected Behavior
The RippleRenderer
must register pointer up events each time a trigger is setup.
Actual Behavior
The RippleRenderer
currently register pointer up events only once.
Environment
- Angular:
- CDK/Material: Any version since @angular/material v9.2.1
- Browser(s): Any
- Operating System (e.g. Windows, macOS, Ubuntu): Any
Metadata
Metadata
Assignees
Labels
P3An issue that is relevant to core functions, but does not impede progress. Important, but not urgentAn issue that is relevant to core functions, but does not impede progress. Important, but not urgentarea: material/core