我的过滤器页面上有一个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);
}

编辑:我添加了另一个超时,现在显示所有复选框,但有一个更好的选项加载屏幕项目而不滚动到它们 . 这种方法感觉......哈哈?