本文整理汇总了TypeScript中tns-core-modules/data/virtual-array.VirtualArray.setItem方法的典型用法代码示例。如果您正苦于以下问题:TypeScript VirtualArray.setItem方法的具体用法?TypeScript VirtualArray.setItem怎么用?TypeScript VirtualArray.setItem使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类tns-core-modules/data/virtual-array.VirtualArray
的用法示例。
在下文中一共展示了VirtualArray.setItem方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: function
export var test_VirtualArray_setItemShouldRaiseChangeEventWhenYouSetDifferentItem = function () {
// >> virtual-array-itemsloading
var array = new virtualArrayModule.VirtualArray<number>(100);
array.loadSize = 15;
// >> (hide)
var result: virtualArrayModule.ChangedData<number>;
var index = 0;
array.on(virtualArrayModule.VirtualArray.changeEvent, (args: virtualArrayModule.ChangedData<number>) => {
result = args;
});
array.setItem(index, 0);
TKUnit.assert(result && result.eventName === "change" && result.action === virtualArrayModule.ChangeType.Update &&
result.removed.length === 1 && result.index === index && result.addedCount === 1, "VirtualArray<T> setItem() should raise 'change' event with correct args!");
result = undefined;
array.setItem(index, 1);
TKUnit.assert(result && result.eventName === "change" && result.action === virtualArrayModule.ChangeType.Update &&
result.removed.length === 1 && result.index === index && result.addedCount === 1, "VirtualArray<T> setItem() should raise 'change' event with correct args!");
// << (hide)
array.on(virtualArrayModule.VirtualArray.itemsLoadingEvent, (args: virtualArrayModule.ItemsLoading) => {
// Argument (args) is ItemsLoading.
// args.index is start index of the page where the requested index is located.
// args.count number of requested items.
//
// Note: Virtual array will divide total number of items to pages using "loadSize" property value. When you request an
// item at specific index the array will raise "itemsLoading" event with "ItemsLoading" argument index set to the first index of the requested page
// and count set to number of items in this page.
//
// Important: If you have already loaded items in the requested page the array will raise multiple times "itemsLoading" event to request
// all ranges of still not loaded items in this page.
var itemsToLoad = new Array<number>();
for (var i = 0; i < args.count; i++) {
itemsToLoad.push(i + args.index);
}
array.load(args.index, itemsToLoad);
});
// << virtual-array-itemsloading
};
示例2: function
export var test_VirtualArray_shouldRaiseItemsLoadingIfIndexIsNotLoadedAndGetItemIsCalledCorrectNumberOfTimesWithCorrectArgs = function () {
var array = new virtualArrayModule.VirtualArray<number>(100);
array.loadSize = 15;
array.setItem(0, 0);
array.setItem(5, 5);
var result = new Array<virtualArrayModule.ItemsLoading>();
array.on(virtualArrayModule.VirtualArray.itemsLoadingEvent, (args: virtualArrayModule.ItemsLoading) => {
result.push(args);
});
array.getItem(1);
TKUnit.assert(result.length === 2 &&
result[0].eventName === virtualArrayModule.VirtualArray.itemsLoadingEvent && result[0].index === 1 && result[0].count === 4 &&
result[1].eventName === virtualArrayModule.VirtualArray.itemsLoadingEvent && result[1].index === 6 && result[1].count === 9,
"VirtualArray<T> getItem() should raise 'itemsLoading' event with correct args!");
};