2017-02-27 3 views
2

md 데이터 테이블에 동적 각도 필터를 적용하여 그리드의 데이터를 검색하려고합니다. 당신에 의해 설명 할 것각진 재질 데이터 테이블 검색 필터

당신이 가리 켰을 때,
<md-input-container> 
     <label> Search Table </label> 
     <input ng-model="filter.search"> 
    </md-input-container> 

    <tr md-row md-select="dessert" md-auto-select ng-repeat="dessert in desserts.data | filter: filter.search | orderBy: query.order | limitTo: query.limit : (query.page -1) * query.limit"> 
+0

컨트롤러 코드를 추가하십시오. – nextt1

+0

나는 md-data-table에이 코드 펜을 사용하고있다. http://codepen.io/anon/pen/qbLaMb 내가 추가하는 것은 검색 입력 필드인데, 데이터를 필터로 사용하려고 시도한다. – Flash

+0

http : // /codepen.io/next1/pen/OpyQXW 작동 중입니다 – nextt1

답변

1

, 내가 추가하고 사용자 정의 필터 : 그러나 그것은 여기에 작동하지 않는 것 것은 내가 달성하기 위해 노력하고 있습니다 무엇의 작은 exapmple이다.

다음은 맞춤 필터입니다.

$scope.filters = []; 
$scope.$watch('filter.search', function(newValue, oldValue) { 
if(newValue != undefined){ 
    $scope.filters = newValue.split(" "); 
} 
}) 

$scope.searachData = {}; 

$scope.customSearch = function(item) { 
$scope.searachData.status = true; 

angular.forEach($scope.filters, function(value1, key) { 
    $scope.searachData.tempStatus = false; 
    angular.forEach(item, function(value2, key) { 
    var dataType = typeof(value2); 

    if(dataType == "string" && (!value2.includes('object'))){ 
     if(value2.toLowerCase().includes(value1)){ 
     $scope.searachData.tempStatus = true; 
     } 
    }else if(dataType == "object"){ 
     var num = value2.value.toString(); 
     if(num.includes(value1)){ 
     $scope.searachData.tempStatus = true; 
     } 
    } 
    }); 
      $scope.searachData.status = $scope.searachData.status & $scope.searachData.tempStatus; 
}); 

return $scope.searachData.status; 
}; 

여기에 작동은 Example입니다.

+0

감사합니다. 이 예제를 따르십시오. – Flash

+0

내 데이터가 하드 코딩 된 경우 정상적으로 작동합니다. 하지만 서비스에서 얻을 때 콘솔 오류가 많이 발생하는 것 같습니다. 하지만 지금 디버그하려고합니다. – Flash

+0

개체 구조로 인해 오류가 발생할 수 있습니다. 개체 구조를 제공하십시오. 필요한 변경 작업을 수행 할 것입니다. – nextt1