老师,用promisearr方法上图片,photoid作为一个数组存图片的fileid,那如果想要在手机上查看图片该怎么办?
先定义一个images[]数组,查询的结果用setdata方法赋值给images行不通。
使用一个for循环
for(var i=0;i<res.data.length;i++)
{
this.setData({
images:res.data[i].photoid
})
} setdata会把之前的数据覆盖掉,结果只能显示一次上传的图片。
使用两个for循环
for(var i=0;i<res.data.length;i++)
{
for(var j=0;j<res.data[i].photoid.length;j++)
{
var m = res.data[i].photoid;
this.data.images = this.data.images.concat(res.data[i].photoid);
}
} images的元素能在控制台打印出来,但wxml不显示图片。
请问老师有解决方法吗?
这个指的是什么方法?
想说的是Promise.all()吗?应该是吧。
你这里images每次只存一个值,肯定会把前面的覆盖掉,而且setData()赋值是异步的,不应该这样写。
可以定义一个数组,for循环中把id都push到这个数组中,等循环完成以后,把这个数组setData()