- observers 死循环
我需要穿进去数据再初始化,现在强行在所谓的 observers 弄好了。但是现在又碰到了一个问题 就是 我是点击编辑弹窗弹出了这个组件,然后吧数据请求过来,再setdata到这个组件,就死循环了。这怎么办。就不就是一个坑嘛,。解决了前面一个问题,后面的问题又来了
05-07 - 组件里 properties的值我不能拿来在 ready初始化? 那我假设有多个数据合并处理呢?
const app = getApp() const url = app.globalData.url Component({ properties: { staff_see_id:{ type: Array, value: '' , observers:function(newvlaue){ console.log('newvlaue1',newvlaue) } }, people_list:{ type: Array, value: '' , observers:function(newvlaue){ console.log('newvlaue2',newvlaue) } }, }, lifetimes:{ ready(){ const clonedata = this.data console.log('3333333333',clonedata) // console.log('jinlai进来了',this.properties.people_list,this.properties.staff_see_id); let listnew = [],staff_see_id_list=[] clonedata.il.map(item=>{ listnew.push(item.name) }) console.log(1111,listnew) if (clonedata.is){ clonedata.is.map(item=>{ for(let i in clonedata.il){ if(clonedata.il[i].id == item){ staff_see_id_list.push(Number(i)) break; } } }) } this.setData({ list:listnew, value:staff_see_id_list }) console.log('组件里的list',this.data.list,this.data.staff_see_id); } }, options: { styleIsolation: 'apply-shared', }, data: { show:false, // list:['王子豪','张卫健','安心','寄','坤'], list:[], // 选中的结果值 value: [], oldvalue:[], searchvalue: '', style:'background:#f5f5f5;font-size:28rpx;padding:22rpx 30rpx', il : [], is : [] }, observers:{ 'value':function(new1,old1){ console.log('value的值发生了变化',new1,this.properties.people_list); let people = [] new1.map(item =>{ people.push(this.properties.people_list[item].id) }) this.triggerEvent('SelectPeople', {value: people}, {}); }, // 'people_list':function(newVal, oldVal) { // // 当myValue变化时,这个函数会被调用 // console.log('people_list changed from', oldVal, 'to', newVal); // this.setData({ // il:newVal // }) // let aaaa = [] // let aaa = newVal.map(item=>{ // aaaa.push(item.name) // }) // console.log('aaa111',aaa) // this.setData({ // list:aaa, // // value:staff_see_id_list // }) // console.log('111',this.data.list) // // 基于newVal做一些操作 // }, // 'staff_see_id':function(newVal, oldVal) { // // 当myValue变化时,这个函数会被调用 // console.log('staff_see_id changed from', oldVal, 'to', newVal); // // 基于newVal做一些操作 // this.setData({ // is:newVal // }) // } }, methods: { onChangeSearch(){ const list = this.data.value console.log('news',list); this.setData({ oldvalue:list }) }, Changeshow(){ this.setData({ show:!this.data.show }) }, onDeletePeople(e){ let nameind = e.currentTarget.dataset.item let newvalue = this.data.value // console.log('删除',newvalue,ind); for(let i=0;i<newvalue.length;i++){ if(newvalue[i] == nameind){ newvalue.splice(i,1) break } } this.setData({ value:newvalue }) }, onChange(e) { // console.log('e',e); if(this.data.searchvalue == ''){ this.setData({ value: e.detail.value }); }else{ let listnew = JSON.parse(JSON.stringify(this.data.oldvalue)) // console.log('list oldvalue2',this.data.list,this.data.oldvalue); this.data.oldvalue.map((item,index)=>{ if(this.data.people_list[item].name.indexOf(this.data.searchvalue) !== -1){ console.log('排除出去的',this.data.people_list[item],listnew,index); listnew.splice(index,1) } }) // console.log('listnew',listnew); const searcglist = e.detail.value searcglist.map(item=>{ listnew.push(item) }) this.setData({ value: listnew }); } }, onAll(){ console.log('this.list ',this.data.value); let all = [] this.data.list.map((item,index)=>{ all.push(index) }) this.setData({value: all}) }, onClear(){ console.log('清空'); this.setData({value: []}) } }, })
04-28 - wx.setStorageSync,ios真机拿不到数据
真机拿不到数据
2023-11-22 - 微信小程序怎么设置本地版本为线上调试版本?
使用url进来的链接直接使用本地的版本调试,不打开线上的版本
2022-11-22 - 微信没法获取头像昵称了
微信没法获取头像昵称了 有无解决方案
2022-11-16 - vue3 微信公众号授权bug
授权过了就不跳页面了
2022-08-17 - 这是bug吗?
[图片]
2020-06-25