Ioni c 4 Refresher не передается в объекте переподготовки, поэтому я не могу его завершить - PullRequest
0 голосов
/ 09 марта 2020

При попытке завершить обновление я получаю сообщение об ошибке

TypeError: refresher.complete не является функцией.

. html:

<ion-refresher #refresherRef slot="fixed" (ionRefresh)="load($event)">
    <ion-refresher-content
    pullingIcon="arrow-dropdown"
    pullingText="Pull to refresh"
    refreshingSpinner="circles"
    refreshingText="Refreshing...">
    </ion-refresher-content>
  </ion-refresher>

.ts

load(refresher) {
    let postData = new FormData();
    postData.append('user_id', this.userData.userId);

    this.authService.postData(postData, "is_verified_or_not.php").then((result) => {
      this.responseData = result;

      this.success = this.responseData.success;
      if (this.success == 1) {
        refresher.complete();
        let userDeatil = this.responseData.users_details;
        for (let data1 of userDeatil) {
        }
      } else {
        this.message = this.responseData.message;
        refresher.complete();
        this.showToast(this.message);
      }
    }, (err) => {
      refresher.complete();
      console.log("Error", err);
    });
  }

Я следовал инструкциям https://forum.ionicframework.com/t/ionic-4-refresher-is-not-passing-in-the-refresher-object-so-i-cant-complete-it/144213

Я пытался:

@ViewChild("refresherRef") refresherRef: Refresher;

load(refresher: Refresher) {
    this.refresherRef.complete();
}    

Но это выдает ошибку на @ViewChild("refresherRef")

Ожидается 2 аргумента, но получено 1.ts (2554) core.d.ts ( 8436, 47): аргумент для «опц» не был предоставлен.

И в Обновление в той же строке @ViewChild("refresherRef") refresherRef: Refresher;

Не удается найти имя «Обновление».

1 Ответ

0 голосов
/ 09 марта 2020

В Angular 8 ViewChild принимает 2 параметра

Попробуйте заменить

@ ViewChild ("refresherRef")

на

@ ViewChild ( "refresherRef", {stati c: false})

...