2017-02-21 60 views
1

我似乎沒有過濾查詢搜索。我想在任何情況下查詢搜索,而不是使用小寫查詢搜索。所以這是來自谷歌的原始代碼的修改版本。md-contact-chips返回搜索過濾器不工作

function querySearch(query) { 
     var results = query ? 
     self.allContacts.filter(createFilterFor(query)) : []; 
     return results; 
    } 
    function createFilterFor(query) { 
     return function filterFn(contact) { 
     return (contact.indexOf(query) != -1); 
     }; 
    } 

請參閱搗鼓我的嘗試:https://codepen.io/hamsaya/pen/PWMNNL?editors=1010

回答

0

我以不同的方式來創建它檢查了這一點

(function() { 
    'use strict'; 
    angular 
    .module('MyApp') 
    .controller('ContactChipDemoCtrl', DemoCtrl); 

    function DemoCtrl() { 
    var self = this; 

    self.querySearch = querySearch; 
    self.contacts = []; 
    self.filterSelected = []; 

    function querySearch(query) { 
     var results = query ? 
     createFilterFor(query) : []; 
     console.log(results) 
     return results; 
    } 


    self.allContacts = [{ 
     id: '1', 
     name: 'Oddr Sarno' 
    }, { 
     id: '2', 
     name: 'Hidi Barno' 
    }]; 
    var contact = []; 

    function createFilterFor(query) { 
     contact = []; 
     debugger 
     for(var i=0; i<=self.allContacts.length -1; i++){ 
     if(self.allContacts[i].name.indexOf(query) != -1){ 
      contact.push(self.allContacts[i]); 
     } 
     } 
     return contact; 
    } 
    } 
})(); 

<div ng-controller="ContactChipDemoCtrl as ctrl" layout="column" class="chipsdemoContactChips" ng-app="MyApp"> 
{{ctrl.allContacts}} 
    <md-content class="md-padding autocomplete" layout="column"> 
    <p>Contact Chips.</p> 
    <md-contact-chips 
         ng-model="ctrl.contacts" 
         md-contacts="ctrl.querySearch($query)" 
         md-contact-name="name" 
         md-contact- md-require-match="" 
         filter-selected="ctrl.allContacts.id" 
         placeholder="To"> 
    </md-contact-chips> 

    </md-content> 
</div> 

createFilterFor功能我推項目僅根據搜索查詢和返回過濾器數據爲html。

ALSE中的HTML變化md-contact-name只是name

+0

由於這個工程。我也做了以前的工作...... –