我无法找到如何在Lightning中获取日历的所有待办事项。我认为getItem()
接口(here)中的函数getItems()
和calICalendar
是解决方案,但我无法使其正常工作。
答案 0 :(得分:2)
你正朝着正确的方向前进。你只需要传递你想要的标志。可以找到一个示例here。
要详细说明下面的示例,有一些语法错误,您可能需要不同的标志。我不确定为什么需要提醒,这对我来说就像事件循环没有被旋转一样。你在什么情况下调用这些位?
试试这个:
var arrayItems = new Array();
var todoListener = {
onOperationComplete: function(aCalendar, aStatus, aOperationType, aId, aDetail) {},
onGetResult: function(aCalendar, aStatus, aItemType, aDetail, aCount, aItems) {
arrayItems = arrayItems.concat(aItems);
}
};
var filter = aCalendar.ITEM_FILTER_TYPE_TODO | aCalendar.ITEM_FILTER_COMPLETED_ALL;
aCalendar.getItems(filter, 0, null, null, todoListener);
答案 1 :(得分:1)
感谢你的例子,我理解了如何实现我的主要问题的监听器。
所以我在这里编码:
var arrayItem = new Array; ;
var todoListener =
{
onOperationComplete: function(aCalendar, aStatus, aOperationType, aId, aDetail) {},
onGetResult: function(aCalendar, aStatus, aItemType, aDetail, aCount, aItems)
{
for (let i=0; i < aCount; i++)
{
arrayItem.push(aItems[i]);
}
}
};
var filter = aCalendar.ITEM_FILTER_ALL_ITEMS;
filter |= aCalendar.ITEM_FILTER_TYPE_TODO;
aCalendar.getItems(filter, 0, null, null, todoListener);
但是,我在这里有一个非常奇怪的问题。实际上,我没有得到这个代码的待办事项。我必须在getItems()方法之后添加alert("something");
以填充我的arrayItem。否则,它是空的。