RadListView - не удается вывести элементы с экрана

У меня есть RadListView на моей странице фильтров с флажками в них. Когда пользователь нажимает кнопку " Применить фильтр", я перебираю все параметры и проверяю, отмечены ли они. Проблема в том, что элементы, которые были за пределами экрана и пользователь не прокручивал, чтобы загрузить их, возвращают 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);
}

Изменить: я добавил еще один тайм-аут, и теперь все флажки отображаются, но есть ли лучший вариант загрузки вне экрана элементов без прокрутки к ним. Этот метод чувствует себя... хаки?

0 ответов

Другие вопросы по тегам