사용자가 적용 할 수있는 일부 필터를 기반으로 배열 또는 이온 목록 필터링에 대한 질문이 있습니다. 당신은 나에게 그것을 할 수있는 방법을 머리를 주 시겠습니까이 달성하는 가장 좋은 방법은 무엇입니까? Amazon에서 제공하는 것과 유사한 기능을 원합니다. 아래 스크린 샷을 참조하십시오. 고맙습니다.이온 2 - 이온 목록에 필터 적용
1
A
답변
0
첫째로 당신은 추가 할 것 popover (이온 2의 또 다른 페이지이다). 이 페이지에서 필터링 할 항목을 만들 수 있습니다.
페이지 사이의 통신, 필터링 할 항목으로 필터링 할 범주의 팝 오버 페이지에 대한 페이지가 이온 2의navParams
컨트롤러 및/또는 팝 오버 컨트롤러의
onDidDissmis
호출로 수행됩니다
당신이
openPopover()
을 클릭하면
항목 페이지
import { Component } from '@angular/core';
import { NavController, NavParams, PopoverController } from 'ionic-angular';
import { FilterItemsPage } from '../../config/config.pages';
@Component({
selector: 'items-page',
templateUrl: 'items-page.html'
})
export class ItemsPage {
filteredItems:any;
constructor(public navCtrl: NavController, public navParams: NavParams,
public popoverCtrl:PopoverController) {}
openPopover(){
let popover = this.popoverCtrl.create(FilterItemsPage);
popover.onDidDismiss(data => {
this.filteredItems = data
});
popover.present();
}
}
그래서 그 다음 사용자가 필터링 기준으로 항목을 선택할 수있는 팝 오버에서 페이지 FilterItemPage
가 열립니다. 선택한 필터 항목을 클릭하면 주요 항목 페이지로 다시 전달되어야하며, 이는 팝업에 대해 onDidDissmiss
에 전달됩니다. 당신은 popover
페이지로 선정되었다 (지금 filteredItems
에서 개최) 항목을 전달하여 해당 항목을 누른 상태에서 navParams
에서 그들을 수집 할 수 있습니다 - 팝 오버 페이지에서 지금
// Passing items that have already been added
let popover = this.popoverCtrl.create(FilterItemsPage,this.filteredItems);
이하 (FilterItemsPage)를 참조하십시오
import { Component } from '@angular/core';
import { NavController, NavParams, ViewController } from 'ionic-angular';
import { ItemsPage } from '../../config/config.pages';
@Component({
selector: 'filter-items-page',
templateUrl: 'filter-items-page.html'
})
export class FilterItemsPage {
PassedFilteredItems:any;
itemsToFilterBy:any;
constructor(public navCtrl: NavController, public navParams: NavParams,
public viewCtrl: ViewController) {
this.PassedFilteredItems = this.navParams.data;
console.log('Items Page:', this.PassedFilteredItems);
}
openPopover(){
let popover = this.popoverCtrl.create(FilterItemsPage);
popover.onDidDismiss(data => {
this.filteredItems = data
});
popover.present();
}
onSelectFilterOrSaveFilteredCollection(){
// Get selected items from a form (of model)
// See angular reactive forms
// https://angular.io/docs/ts/latest/guide/reactive-forms.html
// Pass items on dismiss
// will be passed into onDidDismiss
this.viewCtrl.dismiss(itemsToFilterBy);
}
}
관련 문제
- 1. 어떻게 이온 2 이온 2에서
- 2. 이온 2 : 이온 슬라이드 확대
- 3. 이온 2에 이온 필터 바 구현 방법
- 4. 이온 2
- 5. 이온 2 :
- 6. 이온 2 :
- 7. 이온 2 필터 현지 JSON 파일
- 8. 이온 - 2 이온 항목 사이의 공간 문제
- 9. 이온 3 cli로 이온 2 프로젝트 만들기
- 10. 이온 2 : 이온 교환시 event.preventDefault, event.stopPropagation을 찾습니다.
- 11. 이온 2, 이온 세그먼트에서 google maps 사용
- 12. 이온 2 이온 입력 값 받기
- 13. 이온 2 이온 세그먼트 ngFor 모델의 데이터
- 14. 하나 이상의 조건별 이온 필터
- 15. 이온 2 : 이온 2 슬라이더를 동적으로 만드는 방법
- 16. 이온 항목 내부에서 패딩을 제거 - 이온 2 AngularJS와 2
- 17. 이온 2 : 맞춤형 피커 만들기
- 18. 이온 2 http.get() 문제
- 19. 이온 2 새로 고침보기
- 20. 은 이온 2
- 21. 는 PhoneRTC은 이온 2
- 22. 이온 2 템플릿 재사용
- 23. 동적 이온 2 탭
- 24. 이온 2 범위 레이블
- 25. 이온 2 :로드
- 26. 저장 및 이온 2
- 27. 이온 2 : 맥
- 28. 이온 2 달력 이벤트
- 29. 변경 메시지 이온 2
- 30. 이온 2 Plunker
감사합니다. 이것은 실제로 내가 사용한 것입니다. –