1

我找不到如何在 Lightning 中获取日历的所有待办事项。我认为功能getItem()和接口(这里getItems())是解决方案,但我无法使其正常工作。calICalendar

4

2 回答 2

2

你正朝着正确的方向前进。你只需要传递你只想要待办事项的标志。一个例子可以在这里找到。

要详细说明下面的示例,有一些语法错误,您可能需要不同的标志。我不确定为什么需要警报,这听起来像是事件循环没有被旋转。你在什么情况下称这些位?

试试这个:

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);
于 2011-07-11T19:32:16.727 回答
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);

但是,我在这里有一个非常奇怪的问题。实际上,我没有得到这段代码的待办事项。我必须alert("something");在 getItems() 方法之后添加一个来填充我的 arrayItem。否则,它是空的。

于 2011-07-13T02:42:27.653 回答