请循环赋值后,后值会覆盖前值,最终只有最后一个值存在,有什么好办法么?
for循环里面赋值,出来就没了,怎么回事?for循环里面赋值,出来就没了,怎么回事? var wordlist=that.data.list; switch (options.writestyle) { case '0': this.setData({ str: options.str, write:'csl' }) break; case '1': this.setData({ str: options.str, write:'wxz' }) createlist(that,options,wordlist);//wordlist var slen=options.str.length; for(var i=0;i<slen;i++){ wordlist[i].Urlstr='cloud://shufa-8rvqy.7368-shufa-8rvqy-1259130971/wxz/'+wordlist[i].word+'.jpg' console.log(wordlist[i].word) console.log(wordlist[i].Urlstr) console.log(wordlist) } console.log('case1'+wordlist) [图片]
2020-09-19循环赋值,后面的值会覆盖前面的值,请问有没有办法不覆盖?
红框内赋值,有没有好的循环的方法。setdata()里没法写循环。不太会写求大佬指导?[图片] 数据源: [图片]
2020-09-19同遇循环解构赋值,前一次的赋值被覆盖的问题,最终结果只保留最后一个值,请问楼主是否解决了?
用data参数循环赋值的问题[代码]for[代码] [代码]([代码][代码]var[代码] [代码]i = 0; i < that.data.meetingInfo.length; i++) {[代码][代码] for[代码] [代码]([代码][代码]var[代码] [代码]m = 0; m < timeListUse.length; m++) {[代码] [代码] [代码][代码]for[代码] [代码]([代码][代码]var[代码] [代码]j = 0; j < jsonres.Tables[0].Rows.length; j++) {[代码][代码] [代码][代码]if[代码] [代码](timeListUse[m].time >= jsonres.Tables[0].Rows[j].startTime &&[代码][代码] [代码][代码]timeListUse[m].time < jsonres.Tables[0].Rows[j].endTime) {[代码][代码] [代码][代码]timeListUse[m].flag = [代码][代码]"take"[代码][代码];[代码][代码] [代码][代码]break[代码][代码];[代码][代码] [代码][代码]}[代码][代码] [代码][代码]}[代码][代码] [代码][代码]}[代码][代码] [代码] [代码] [代码][代码] [代码] [代码] [代码][代码]var[代码] [代码]thisList = timeListUse;[代码][代码] [代码][代码]timeSpaceListToCom = timeSpaceListToCom.concat([{[代码][代码] [代码][代码]timeSpaceList: thisList[代码][代码] [代码][代码]}])[代码][代码] [代码] [代码] [代码][代码]that.setData({[代码][代码] [代码][代码]timeListToCom: that.data.timeListToCom.concat([{[代码][代码] [代码][代码]timeSpaceList: thisList,[代码][代码] [代码][代码]}]),[代码][代码] [代码][代码]})[代码] [代码]}[代码] 其中数据先不管, 比如 最外层循环为2次, 中间循环为4次, 最后一层循环 判断 改变中间层循环的List值 假设 初始List {1,1,1,1} 在第一层循环第一次结束时 假设List为{0,1,1,1}将timeListToCom赋值拼接这个List timeListToCom为[{0,1,1,1}] 在第一层循环第二次结束时 假设此时List为{0,0,0,1} 将timeListToCom拼接这个List 理论上 timeListToCom为[{0,1,1,1},{0,0,0,1}] 但是返回结果为[{0,0,0,1},{0,0,0,1}] 为什么后面的值 会覆盖前一次的值呢,求大神指点
2020-09-19同踩坑,如果不加capture="camera" accept="image"倒是弹出选择相册或相机,只要加了选项,则点击无反应,但是项目必须要求只调用摄像头拍照,禁止使用相册内照片,求解
使用vant的文件上传capture="camera" 无法直接调用摄像头<van-uploader file-list="{{ fileList }}" bind:after-read="afterRead" capture="camera" accept="image"/> 华为荣耀8x点击是打开相册,第一个选项是拍摄照片。应该是直接调用摄像头,限制只能拍照上传。
2020-09-16同踩了坑,当页面有动作的时候,比如切后台回来,才赋值,我看有大神说了setdata是异步的原因吧,不知道是否有办法解决?我目前踩坑是用treeselect组件,给数组赋值,从前一页跳转过来的时候数据还没赋值
在onLoad里面不能直接为page中的data赋值吗?[图片] [图片]
2020-09-10同踩了此深坑,不知道大神怎么解决的,研究了三天的变量作用域,后来把console.log()放到onShow:function(){里后台切回来居然才开始赋值
关于onload之后setdata不能赋值- 当前 Bug 的表现(可附上截图) - 预期表现 - 复现路径 - 提供一个最简复现 Demo data: { details:{}, }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { var that = this; console.log('receive -> ' + options.current); //打印出来是json字符串 let receive = JSON.parse(options.current); console.log('receive -> ' + receive.image);//打印出来是字符串 that.setData({ details: receive }) console.log('details -> ' + receive.file); //出错details is not defined; }, 求解,找了很多地方都没有办法处理这个问题,请问有热心人士能够帮忙解决一下。
2020-09-10