我的应用正在调用返回联系人列表的 pickMultipleContactAsync 方法。如果我只想过滤特定的联系人以显示或仅显示一组联系人,WinJS 是否提供任何特定的方法或模式来执行此操作?我知道,因为它是一个列表,我可能可以使用一些标准谓词类型的东西来进行这种类型的过滤,但我想知道是否有任何特定的 WinJS API 来执行此操作。
问问题
110 次
2 回答
2
它WinJS.Binding.List
使用一种称为“投影”的功能来创建由谓词过滤的第二个列表,该谓词将随着原始列表的变化而自动更新。使用该createFiltered
函数,然后您可以使用结果列表,例如在WinJS.UI.ListView
.
于 2013-05-10T12:06:00.600 回答
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;
});
});
于 2013-05-11T04:52:40.023 回答