2013-05-10 113 views
1

我的應用程序正在調用pickMultipleContactAsync方法,該方法返回聯繫人列表。如果我只想過濾特定的內容來顯示或只顯示一定數量的聯繫人,WinJS是否提供了任何特定的方法或模式來執行此操作?我知道自從它的一個列表,我可能可以使用一些標準的謂詞類型的東西來做這種類型的過濾,但我想知道是否有任何特定的WinJS API來做到這一點。過濾聯繫人以顯示或只顯示設定的聯繫人數

回答

2

WinJS.Binding.List使用稱爲「投影」的功能來創建由謂詞過濾的第二個列表,該謂詞將在源列表更改時自動更新自身。 使用createFiltered函數,則可以使用結果列表,例如在WinJS.UI.ListView中。

1

Array.filter可以在這種情況下使用。

var picker = Windows.ApplicationModel.Contacts.ContactPicker(); 
picker.commitButtonText = "Select"; 
picker.pickMultipleContactsAsync().then(function (contacts) 
{ 
    var contactsStartingWithPrefixPa = contacts.filter(function filterContacts(contact) 
    { 
     if (contact.name.match(/^Pa/)) 
      return true; 
     return false; 
    }); 
}); 
相關問題