JS递归调用定位ListView应该定位的项

    xiaoxiao2021-03-25  92

    继续上篇的定位问题,由于时间原因,上篇的定位不是很准确,下面将准确定位的JS代码共享出来: function getIndexFromLab(lab) { var arr = ["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"] var j; for (j=0; j<arr.length; j++) { if (arr[j] === lab) break; } var i; for (i=0;i<list_model.count;i++) { if (list_model.get(i).sectionChar.substr(0, 1) === lab) { return i; } } if (i >= list_model.count) { return getIndexFromLab(arr[j-1]); } }以上JS代码,需要注意其递归调用处:return getIndexFromLab(arr[j-1]); 切记递归return,不熟悉递归的,这里可能会犯错。 调用定位处的代码如下: var idx = getIndexFromLab(modelData); list_view.positionViewAtIndex(idx, ListView.Beginning); 然后将Repeater的model补全如下: model: ["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"]

    这样,就能够根据鼠标选中分组准确定位ListView了。

    转载请注明原文地址: https://ju.6miu.com/read-23328.html

    最新回复(0)