先说一下我的应用场景:
后来返回值如下图:
需要实现的效果如下图:
如果某种类型的数量为0,就什么也不显示,我的处理方式是,重新处理数据,造一个新对象,没有就为0
如下图:
部分代码如下:
getProjectCount() {
queryProjectCount().then(res => {
if (res.code === 200) {
this.statisticsData = res.data;
...
delete this.statisticsData.publishChannel;
for (let key in this.statisticsData) {
this.handleWarnObj(key, this.statisticsData[key]);
}
}
});
},
handleWarnObj(key, val) {
// countObj 就是每一个小灰块对应的对象数据
let countObj = {
// 这里的key值是动态的,可以用[]来动态加载键值
[key]: {
projectCount: val ? val.projectCount : 0,
orderCount: val ? val.orderCount : 0
}
};
Object.assign(this.warnCountObj, countObj); // this.warnCountObj新对象
},
下面写一个简单的例子:
let key= 'name';
let value= '小太阳';
let newObject = { [key]: value};
console.log(newObject);
// {name: "小太阳"}