mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-08-20 12:29:55 +08:00
fix(all): component reusage (#18963)
Use new stencil APIs to allow ionic elements to be reused once removed from the DOM. fixes #18843 fixes #17344 fixes #16453 fixes #15879 fixes #15788 fixes #15484 fixes #17890 fixes #16364
This commit is contained in:
@ -76,11 +76,13 @@ export class InfiniteScroll implements ComponentInterface {
|
||||
*/
|
||||
@Event() ionInfinite!: EventEmitter<void>;
|
||||
|
||||
async componentDidLoad() {
|
||||
async connectedCallback() {
|
||||
const contentEl = this.el.closest('ion-content');
|
||||
if (contentEl) {
|
||||
this.scrollEl = await contentEl.getScrollElement();
|
||||
if (!contentEl) {
|
||||
console.error('<ion-infinite-scroll> must be used inside an <ion-content>');
|
||||
return;
|
||||
}
|
||||
this.scrollEl = await contentEl.getScrollElement();
|
||||
this.thresholdChanged();
|
||||
this.disabledChanged();
|
||||
if (this.position === 'top') {
|
||||
@ -92,7 +94,7 @@ export class InfiniteScroll implements ComponentInterface {
|
||||
}
|
||||
}
|
||||
|
||||
componentDidUnload() {
|
||||
disconnectedCallback() {
|
||||
this.enableScrollEvents(false);
|
||||
this.scrollEl = undefined;
|
||||
}
|
||||
|
Reference in New Issue
Block a user