问答详情
源自:4-5 电影评价

老师,用promisearr方法上图片,photoid作为一个数组存图片的fileid,那如果想要在手机上查看图片该怎么办

老师,用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不显示图片。

请问老师有解决方法吗?


提问者:ZZUZrk 2020-04-23 21:01

个回答

  • 谢成
    2020-04-24 22:52:33

    这个指的是什么方法?

    http://img.mukewang.com/5ea2fbf40001eec610170201.jpg

    想说的是Promise.all()吗?应该是吧。


    http://img3.mukewang.com/5ea2fcd700011cea04800160.jpg

    你这里images每次只存一个值,肯定会把前面的覆盖掉,而且setData()赋值是异步的,不应该这样写。

    可以定义一个数组,for循环中把id都push到这个数组中,等循环完成以后,把这个数组setData()