初始状态image数组中有一个base64数据,页面图片也显示出来了
选择了两张图片准备转换为base64数据,点击上传后使用了setData,image成了空数组,页面也没有显示
刷新appdata image数组数据更新又成功了
submit(){
console.log('file',this.data.files)
let image=[]
for(let i=0;i<this.data.files.length;i++){
wx.getFileSystemManager().readFile({
filePath:this.data.files[i],
encoding:"base64",
success:(res)=>{
image.push('data:image/png;base64,'+ res.data)
}
})
}
console.log('image',image)
this.setData(
{
image:image,
})
},
<view wx:for="{{image}}">
<image style="height: 100rpx;width: 100rpx;" src="{{item}}" mode="aspectFill" />
</view>
你这能渲染了就怪了,稍等我给你改改代码
submit(){ let that=this; console.log('file',this.data.files) let image=[] for(let i=0;i<this.data.files.length;i++){ console.log(this.data.files[i]) wx.getFileSystemManager().readFile({ filePath:this.data.files[i], encoding:"base64", success:(res)=>{ image.push('data:image/png;base64,'+ res.data) } }) } let times=setInterval(function(){ if(image.length==that.data.files.length){ clearInterval(times); console.log('image',image) that.setData({ image }) } },100) },
作用域问题吧 此this非彼this