mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-08-19 19:57:22 +08:00
fix(datetime): disable intersection observer during month update (#24713)
Resolves #24712
This commit is contained in:
@ -771,17 +771,26 @@ export class Datetime implements ComponentInterface {
|
|||||||
*/
|
*/
|
||||||
writeTask(() => {
|
writeTask(() => {
|
||||||
|
|
||||||
this.setWorkingParts({
|
// Disconnect all active intersection observers
|
||||||
...this.workingParts,
|
// to avoid a re-render causing a duplicate event.
|
||||||
month,
|
if (this.destroyCalendarIO) {
|
||||||
day: day!,
|
this.destroyCalendarIO();
|
||||||
year
|
}
|
||||||
});
|
|
||||||
|
|
||||||
raf(() => {
|
raf(() => {
|
||||||
|
this.setWorkingParts({
|
||||||
|
...this.workingParts,
|
||||||
|
month,
|
||||||
|
day: day!,
|
||||||
|
year
|
||||||
|
});
|
||||||
|
|
||||||
calendarBodyRef.scrollLeft = workingMonth.clientWidth * (isRTL(this.el) ? -1 : 1);
|
calendarBodyRef.scrollLeft = workingMonth.clientWidth * (isRTL(this.el) ? -1 : 1);
|
||||||
calendarBodyRef.style.removeProperty('overflow');
|
calendarBodyRef.style.removeProperty('overflow');
|
||||||
calendarBodyRef.style.removeProperty('pointer-events');
|
calendarBodyRef.style.removeProperty('pointer-events');
|
||||||
|
|
||||||
|
endIO?.observe(endMonth);
|
||||||
|
startIO?.observe(startMonth);
|
||||||
});
|
});
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user