2017-01-11 5 views
0

Привет всем Как устранить bug в ионном 2 приложении с помощью angular2, на самом деле я разработка ионных 2 приложений, мы пытаемся отфильтровать list of items in list page поэтому мы использовали type script codes, мы получили некоторую ошибку в visual studio code и списке элементов также не фильтруется в мобильном приложении мы не знаем, где мы допустили ошибку, поэтому, пожалуйста, проверьте ниже приведенное изображение и помогите нам решить эту ошибку. спасибо ..Как решить ошибку в ионном приложении 2 с использованием углового2?

Мой типаж код сценария: -

let searchTerm: string = ''; 
    this.activitys = data.items.sort((a, b) => { 
     return this.activitys.filter((activity) => { 
     return activity.name.toLowerCase().indexOf(searchTerm.toLowerCase()) > -1; 
    }); 
    }); 
  • ошибка произошла в этой строке this.activitys = data.items.sort((a, b) => {

enter image description here

Мой HTML-код: -

<ion-searchbar [(ngModel)]="searchTerm" (ionInput)="loadActivitysWithAuth()"></ion-searchbar> 

нужно фильтровать ниже заданного поля: -

<h2 (click)="gotoResourceListPage(activity)">{{activity.name}}</h2> 
  • мы знали, что мы сделали некоторые syntax ошибку в сценарии типа поэтому, пожалуйста, проверить и обновить решение благодаря ...
+0

Вы пытаетесь отсортировать фильтр после? или пытается установить функцию сравнения сортировки? на самом деле не в состоянии получить намерение –

+0

Не могли бы вы навести курсор на этот выделенный текст .. и сообщить нам, что это за ошибка? –

+0

@pankaj parker благодарит за ценный комментарий, ошибка показывает: - [ts] Аргумент типа '(a: Activity, b: Activity) => Activity []' не присваивается параметру type '(a: Activity, b: Activity) => number '. Тип 'Activity []' не присваивается типу 'number'. –

ответ

0

Вы должны вернуть ниже функцию в другую функцию и вызвать то же самое в вашем HTML файле

filterItems(searchTerm): void { 
      this.activitys = []; 
      this.userPoolsAuthClient.getClient().activitysList().subscribe(
       (data) => { 
       this.activitys = data.items.filter((activity) => { 
        return activity.name.toLowerCase().indexOf(searchTerm.toLowerCase()) > -1; 
       }); 
       }); 

    } 

вызов ниже функции в вашем HTML

setFilteredItems() { 

    return this.filterItems(this.searchTerm); 

} 

и ваш HTML выглядит следующим образом

<ion-searchbar [(ngModel)]="searchTerm" (ionInput)="setFilteredItems()"></ion-searchbar> 
+0

спасибо ваммного для ценного ответа ..... спасибо .. –

1

Если вы пытаетесь отсортировать отсортированный список:

let searchTerm: string = ''; 
    this.activitys = data.items.filter((activity) => { 
     return activity.name.toLowerCase().indexOf(searchTerm.toLowerCase()) > -1; 
    }).sort(/*sort comparison function*/); 

Sort выполняет функцию сравнения, которая в основном является условием свопинга.

+0

Hi suraj спасибо за ваш ответ, мы использовали ваш код, то главное, что я забыл удалить эту строку, - 'this.activitys = data.items;' кода в изображении, то это мой html-код: - ' 'всякий раз, когда мы вводим имя события в поле поиска, это' loading' не фильтрует элементы, можете, пожалуйста, проверить это и обновить ..... спасибо .. –

+0

can вы помещаете обновленный код в вопрос? –

+0

HI Suraj Я обновил изображение кода в вопросе и добавил html-код также .... пожалуйста, помогите нам ... спасибо suraj .. –

Смежные вопросы