Ионная панель поиска с PHP API - PullRequest
0 голосов
/ 17 мая 2018

Это работает, но я не получаю результаты, которые он должен отсортировать.Я получаю одинаковые результаты независимо от того, что я печатаю в строке поиска

Я хочу, чтобы это сортировалось как автозаполнение.чтобы показать результаты ввода в строке поиска

search.ts

  @Component({ selector: "page-search", templateUrl: "search.html" })
  export class SearchPage {
  filter: string = '';
  public userDetails: any;
  public resposeData: any;
  public dataSet: any;
  public userSet: any;
  public mediaSet: any;
  public noRecords: boolean;
   userPostData = {
     uid: "",
     token: "",
     username: "",
     bio: ""
  };
 constructor(
     public common: Common,
     public navCtrl: NavController,
     public app: App,
     public menu: MenuController,
     public authService: AuthService,
     public http: Http,
     platform: Platform,
     statusBar: StatusBar,
     splashScreen: SplashScreen
 ) {
     this.initializeItems();
     this.mostmediaList();
  }
 initializeItems() {
     return this.userPostData;
 }
           getItems(ev: any) {

              this.initializeItems();
              let val = ev.target.value;

              if (val && val.trim() != '') {
                  this.authService.postData(this.userPostData, "userGroupSearch").then(
                      result => {
                          this.resposeData = result;
                          if (this.resposeData.allArtistsData) {
                              this.userSet = this.resposeData.allArtistsData;
                                  console.log(this.userSet);

                          } else {
                              console.log("No access");
                          }
                      },
                  );
              }
          }

1 Ответ

0 голосов
/ 17 мая 2018

Поскольку ваш код упакован в

if (this.resposeData.items) {
    //some code
}

мы точно знаем, что this.resposeData не является массивом, поскольку в нем есть items член (иначе ваш код внутри if не будет выполнен, и, следовательно, вы не получите ошибку, как в случае, если мы есть).

Поскольку вы вызываете параметр items в

this.userSet = this.resposeData.filter((items) => {
    //some code
};

Можно с уверенностью предположить, что вы хотели filter this.resposeData.items вместо this.resposeData. Итак, вам нужно убедиться, что это массив в if

if (this.resposeData.items && Array.isArray(this.resposeData.items)) {
    //some code
}

и filter this.resposeData.items вместо this.resposeData:

this.userSet = this.resposeData.items.filter((items) => {
    //some code
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...