2017-02-21 7 views
1

私は質問検索でフィルタリングしていないようです。私は、小文字の検索ではなく、どんな場合でも検索をクエリしたいと思っていました。これはgoogleのオリジナルコードの修正版です。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

iはcreateFilterFor機能でこれをチェック

(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> 

異なる方法でそれを作成する私は、検索クエリとリターンに応じてアイテムを押しますフィルターデータをHTMLに変換します。この作品だけname

+0

おかげで、HTMLの変更md-contact-name

Alse。また、私は以前の仕事を作った... –