我的应用正在调用pickMultipleContactAsync方法,该方法返回联系人列表。如果我只想过滤特定的contats来显示或仅显示一定数量的联系人,WinJS是否提供了任何特定的方法或模式来执行此操作?我知道,因为它是一个列表,我可能会使用一些标准谓词类型的东西来做这种类型的过滤,但我想知道是否有任何特定的WinJS API来做这件事。
答案 0 :(得分:2)
WinJS.Binding.List
使用称为“投影”的功能来创建由谓词过滤的第二个列表,该列表将在原始列表更改时自动更新。
使用createFiltered
功能,然后您可以在WinJS.UI.ListView
中使用结果列表。
答案 1 :(得分:1)
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;
});
});