setData替换数组问题
发布于 6 年前 作者 czeng 2666 次浏览 来自 问答

今天遇到setData数组问题一直没替换成功,直接贴代码

这个是进入的时候就赋值list

onindex: function(re){

var r = this;

var list = [];

for (var i = 0; i < re.type.length; i++) {

if (re.type[i].cate == re.category[0].id) {

list[i] = re.type[i];

}

}

r.setData({

list: list

})

},

这里是点击分类的时候重新赋值list

category: function (e) {

var a = this;

var cate_id = e.currentTarget.dataset.id;

var category_index = e.currentTarget.dataset.index;

var type = a.data.res.type;

var list = [];

for(var i=0;i<type.length;i++){

if (cate_id == type[i].cate){

list[i] = type[i];

}

}

a.setData({

category_id: cate_id,

category_index: category_index,

list: list

})

console.log(list)

a.onShow();

}

第一个分类有五条数据,

第二个分类有一条数据,

第三个分类没有数据,

点击第一个分类的时候显示五条数据

点击第二个分类的时候显示六条数据(这里并不是真正的六条数据,有五条数据都是empty,只有一条真数据)

点击第三个分类的时候没有数据(这个是正常的),

请各位大佬帮看下问题出在哪

3 回复

问题解决了,在重新赋值list的时候,把下标用错了

onindex是什么?

回到顶部