小程序
小游戏
企业微信
微信支付
扫描小程序码分享
在网上扒拉了个自定义多选组件multiple_selection,但是无法在onload使用this.setData更新请求的数据到自定义组件的变量就无效,只能够使用静态的数据,我扒拉的另外一个自定义组件这样就可以,请问这是为什么呢?
2 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/lifetimes.html
created
this.data
Component
data
setData
this
attached
微信小程序的组件中没有onLoad生命周期,还有就是,在回调函数中使用箭头函数用this是没问题的,用形如function(){}的回调才需要将this引用包装给别的变量
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
this的指向问题。
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/lifetimes.html
created
生命周期被触发。此时,组件数据this.data
就是在Component
构造器中定义的数据data
。 此时还不能调用setData
。 通常情况下,这个生命周期只应该用于给组件this
添加一些自定义属性字段。attached
生命周期被触发。此时,this.data
已被初始化为组件的当前值。这个生命周期很有用,绝大多数初始化工作可以在这个时机进行微信小程序的组件中没有onLoad生命周期,还有就是,在回调函数中使用箭头函数用this是没问题的,用形如function(){}的回调才需要将this引用包装给别的变量
this的指向问题。
url: ;,
success:(res)=>{
var new_arr = [];
for(var i = 0;i < res.data.data.length;i++){
new_arr.push({
key:res.data.data[i].flag,
name:res.data.data[i].name
})
}
this.setData({
multiple_list:new_arr,
selNum:new_arr.length
})
console.log(this.data.multiple_list,"处理后的数据")
}
})
大佬,我在onload中这样请求数据的啊,没问题啊