Echarts 数据未定义错误解决方法: WASubContext.js?t=wechat&s=1691541346472&v=2.32.3:1 Setting data field "age_man" to undefined is invalid
// pages/data_dashboard/age.js\nimport * as echarts from "../ec-canvas/echarts.min"\nconst api = require('../../../utils/o2Api.js');\n\nfunction initChart(canvas, width, height, dpr) {\n const chart = echarts.init(canvas, null, {\n width: width,\n height: height,\n devicePixelRatio: dpr\n });\n canvas.setChart(chart);\n\n var option = {\n // backgroundColor: 'rgba(70,130,180,0.8)',\n tooltip: {\n trigger: 'axis',\n formatter: (params) => {\n var man;\n var man_number;\n var women;\n for (let b of params){\n if (b.data < 0){\n man = b;\n man_number = -man.data;\n }else {\n women = b.data;\n }\n }\n return man.name+' '+'男 '+man_number + '人 '+'女 '+women +'人';\n\n },\n axisPointer: {\n type: 'shadow'\n }\n },\n legend: {\n data: ['男', '女'],\n textStyle: {\n color: "#fff",\n fontSize:16\n }\n },\n grid: {\n // left: 'center',\n right: '5%',\n bottom: '3%',\n containLabel: true\n },\n xAxis: [\n {\n type: 'value',\n axisLabel: {\n formatter(value) {\n return Math.abs(value) // 负数取绝对值变正数(x轴本来数据是正负才能分开两边展示的,所以我们只是把负数处理为正数在视觉上显示)\n }\n }\n }\n ],\n yAxis: [\n {\n type: 'category',\n axisTick: {\n show: false\n },\n // data: ['21-25岁', '26-30岁', '31-35岁', '36-40岁', '41-45岁', '45-50岁', '50岁以上']\n data: this.data.typeList\n }\n ],\n series: [\n\n {\n name: '男',\n type: 'bar',\n stack: 'Total',\n label: {\n show: true,\n position: 'left',\n normal: {\n show: true,\n\n formatter(value) {\n return Math.abs(value.value) // 负数取绝对值变正数(x轴本来数据是正负才能分开两边展示的,所以我们只是把负数处理为正数在视觉上显示)\n }\n // formatter: function (params) {\n // return Math.abs(params.values)\n // }\n }\n },\n emphasis: {\n focus: 'series'\n },\n // data: [-25,-36,-38,-19,-20,-25,-36,-40]\n data: this.data.age_man\n },\n {\n name: '女',\n type: 'bar',\n stack: 'Total',\n label: {\n show: true,\n\n },\n emphasis: {\n focus: 'series'\n },\n // data: [20,30,19,25,26,24,50,39]\n data: this.data.age_women\n },\n\n ]\n };\n chart.setOption(option);\n return chart;\n}\nPage({\n\n /**\n * 页面的初始数据\n */\n data: {\n ec: {\n onInit: initChart\n }, \n age_man :[],\n age_women :[],\n typeList:[]\n },\n onLoad: function () {\n this.loadAgeInfo();\n },\n loadAgeInfo: function() {\n //获取年龄信息\n api.getPersonInfo().then(info => {\n // console.log(info)\n var age_man = [];\n var age_women = [];\n var typeList = [];\n for (let i = 0; i < info.length; i++) {\n if(info[i].xb == "女"){\n var zhousui_women = getAge(info[i].csrq); //周岁\n age_women.push(zhousui_women);\n }else{\n var zhousui_man = getAge(info[i].csrq); //周岁\n age_man.push(zhousui_man);\n }\n var zc = zcswag(info[i].zc);\n typeList.push(zc);\n }\n var women_json = getRepeatNum(age_women);\n var man_json = getRepeatNum(age_man);\n var zcempty = getRepeatNum(typeList);\n var zhichengxinxi = [];\n var typeList = [];\n var zc_value = [];\n var age_man = [{ name: "21-25", value: 0 }, { name: "26-30", value: 0 }, { name: "31-35", value: 0 }, { name: "36-40", value: 0 }, { name: "41-45", value: 0 }, { name: "46-50", value: 0 }, { name: "50以上", value: 0 }];\n for (let i = 0; i < age_man.length; i++) {\n if (20 < age_man[i] && age_man[i] <= 25) {\n age_man[0].value -= 1;\n } else if (25 < age_man[i] && age_man[i] <= 30) {\n age_man[1].value -= 1;\n } else if (30 < age_man[i] && age_man[i] <= 35) {\n age_man[2].value -= 1;\n } else if (35 < age_man[i] && age_man[i] <= 40) {\n age_man[3].value -= 1;\n } else if (40 < age_man[i] && age_man[i] <= 45) {\n age_man[4].value -= 1;\n } else if (45 < age_man[i] && age_man[i] <= 50) {\n age_man[5].value -= 1;\n } else if (50 < age_man[i]) {\n age_man[6].value -= 1;\n }\n }\n\n var age_women = [{ name: "21-25", value: 0 }, { name: "26-30", value: 0 }, { name: "31-35", value: 0 }, { name: "36-40", value: 0 }, { name: "41-45", value: 0 }, { name: "46-50", value: 0 }, { name: "50以上", value: 0 }];\n for (let i = 0; i < age_man.length; i++) {\n if (20 < age_man[i] && age_man[i] <= 25) {\n age_women[0].value += 1;\n } else if (25 < age_women[i] && age_women[i] <= 30) {\n age_women[1].value += 1;\n } else if (30 < age_women[i] && age_women[i] <= 35) {\n age_women[2].value += 1;\n } else if (35 < age_women[i] && age_women[i] <= 40) {\n age_women[3].value += 1;\n } else if (40 < age_women[i] && age_women[i] <= 45) {\n age_women[4].value += 1;\n } else if (45 < age_women[i] && age_women[i] <= 50) {\n age_women[5].value += 1;\n } else if (50 < age_women[i]) {\n age_women[6].value += 1;\n }\n }\n typeList = ["21-25岁", "26-30岁", "31-35岁", "36-40岁", "41-45岁", "46-50岁", "50以上"];\n\n this.setData({\n age_ma
原文地址: https://www.cveoy.top/t/topic/qfku 著作权归作者所有。请勿转载和采集!