2017-10-11 188 views

回答

1

它可能不是最乾淨的解決方案,但基於jdfiddle您的實現,只是改變了過濾功能就夠了(我想)。

var list = new Vue({ 
    el: '#list', 
    data: { 
    search: '', 
     items: [ 
      { name: 'mike', type: 'student' }, 
      { name: 'beckham john', type: 'footballer' }, 
      { name: 'walcott', type: 'footballer' }, 
    { name: 'cech', type: 'footballer' }, 
    { name: 'jordan', type: 'actor' }, 
    { name: 'tom', type: 'actor' }, 
    { name: 'john', type: 'actor' } 
     ] 
    }, 
computed: { 
    groupedItems() { 
    const arr = {} 
    //fungsi search 
    var searchResult = this.items.filter(todo => { 
     return todo.name.toLowerCase().indexOf(this.search.toLowerCase())>-1 || todo.type.toLowerCase().indexOf(this.search.toLowerCase())>-1; 
    }) 
    //grouping 
    for(var i = 0; i < searchResult.length; i++) { 
     const key = searchResult[i].type 
     if (arr[key]) { 
     arr[key].push(searchResult[i]) 
     } else { 
     arr[key] = [searchResult[i]] 
     } 
    } 
    return arr 
    } 
} 
}) 
+0

感謝您的回答。有用 :) –