2014-11-24 4 views
0

여러 필터를 한 번에 적용하려고합니다. 필터를 지울 때 온라인 저장소에서 정보를 검색하는 필터에 대한 수신기가 있기 때문입니다. 그래서 나는 그들을 즉시 교체해야한다.sencha 즉시 필터 세트 적용

필터 기능이 호출되고 있지만 로그 메시지가 있지만 결과는 무시됩니다. 따라서 includeStatus가 true 또는 false인지 여부에 관계없이 모든 항목이 항상 표시됩니다.

flipElements: function (includeStatus) 
{ 
    this.setFilters(
    [ 
     new Ext.util.Filter(
     { 
      property: 'userName', 
      value: 'me' 
     }), 
     new Ext.util.Filter(
     { 
      filterFn: function (record) 
      { 
       var result = includeStatus === (record.get('statusId') === 3); 
       console.log(result); 
       return result; 
      } 
     }) 
    ]); 
} 

문제는 모델이 단순히 filterBy으로 필터를 설정할 때 쇼를 않기 때문에/속성을 가지고 제대로 항목을 숨기지 않습니다 아니다.

편집 : 로그에 false가 표시되는 경우에도 여전히 항목이 표시됩니다.

답변

1

setFilters은 저장소의 filters 속성 만 변경합니다. 필터 동작을 트리거하려면 filter 함수를 호출하십시오. 이것은 보통 'property, value'스타일의 필터를 filterset에 추가하는 데 사용되지만 인수가 제공되지 않으면 상점을 필터링합니다.