执行push方法数组不存在引起的bug
问题:错误使用了push(),造成按钮列表显示空白
划重点:下次用到push方法一定判断数组是否为undefined
问题代码:
const accountInfo = wx.getAccountInfoSync();
console.log(accountInfo.miniProgram.appId, '小程序 appId') // 获取小程序 appId方法
if(accountInfo.miniProgram.appId=='wx7fd5ca86aa0c7360'){
var item = {
amount: 0,
expanded: false,
hint: false,
img: "icon-xiaochengxu",
leaf: false,
level: 0,
name: "金融服务",
period: 4,
url: "financialService",
}
res.data[2].buttonList.push(item) //存在问题代码,如果说res.data[2].buttonList为undefi的话执行push方 法,会造成this.buttonDataList出问题,打印都打印不出来。
}
this.buttonDataList = res.data;
修改后代码:
const accountInfo = wx.getAccountInfoSync();
console.log(accountInfo.miniProgram.appId, '小程序 appId') // 小程序 appId
if(accountInfo.miniProgram.appId=='wx7fd5ca86aa0c7360'){
var Item = {
amount: 0,
expanded: false,
hint: false,
img: "icon-xiaochengxu",
leaf: false,
level: 0,
name: "金融服务",
period: 4,
url: "financialService",
}
res.data.map((item)=>{
if(item.name=="基础数据"){
if(item.buttonList==undefined){//判断item.buttonList是否为undefined
item.buttonList=[]
item.buttonList.push(Item)
}else{
item.buttonList.push(Item)
}
}else{}
return item
})
}
this.buttonDataList = res.data;