我的过滤器页面上有一个RadListView,里面有复选框 . 当用户按下Apply Filter按钮时,我遍历所有选项并检查它们是否滚动加载它们,返回 undefined
setTimeout(function(){
for (var i = 0; i < context.designs.length; i++) { //context.designs is the array of all designs
if(selectedDesigns.indexOf(context.designs[i].id) != -1){ //selectedDeigns is the list of designs user selected
console.log("checkd: "+context.designs[i].name);
var selCheckbox = page.getViewById("check"+context.designs[i].id);
console.log(selCheckbox);
if(selCheckbox != undefined)
selCheckbox.toggle();
else //if checkbox is undefined, I try scrolling to it and checking it after a timeout
checkSelectedBoxes(i);
}
}
}
function checkSelectedBoxes(i){
console.log(i);
designList.scrollToIndex(i);
setTimeout(function(){
var selCheckbox = page.getViewById("check"+context.designs[i].id);
console.log(selCheckbox);
if(selCheckbox != undefined)
selCheckbox.toggle();
}, 100);
}
编辑:我添加了另一个超时,现在显示所有复选框,但有一个更好的选项加载屏幕项目而不滚动到它们 . 这种方法感觉......哈哈?