doTapWuXingCheck(event) {
const { id: strCodeID } = event.currentTarget.dataset;
let strCodeIDArr = strCodeID.split('-');
let wuXingGPT = this.data.m_wuXingGPT;
let wuXingRadio = this.data.m_wuXingRadio;
// 修改选择状态,直接取反原先的值
wuXingGPT[strCodeIDArr[0]][strCodeIDArr[1]].on = !wuXingGPT[strCodeIDArr[0]][strCodeIDArr[1]].on;
let sum = 0;
wuXingGPT.map((items,index) => {
// 判断某个五行中是否有选择如果有选择就进行修改单选的图片展示
const result = items.find(item => item.on);
if(result != undefined && result != null && result != ''){
wuXingRadio[index].flag = true;
}else{
wuXingRadio[index].flag = false;
}
// 使用reduce函数统计集合中age参数的值总和
const wuXingSum = items.reduce((accumulator, currentValue) => accumulator + currentValue.on, 0);
wuXingRadio[index].sum = wuXingSum;
sum += wuXingSum;
})
console.log("wuXingRadio: ",this.data.m_wuXingRadio);
console.log("m_wuXingGPT: ",this.data.m_wuXingGPT);
if(sum > 3){
Notify('您已选择超过3项!');
return;
}
this.setData({
m_wuXingGPT: wuXingGPT,
m_wuXingRadio: wuXingRadio
})
},
我记得以前正常的逻辑是:如果大于3这个方法就直接退出,没有调用到setData()方法来修改参数所以 page里的data数据是不会进行更改的。现在却更改了