问题描述
computed: {
groupedTemplates() {
const ret = this.templates.reduce((acc,value) => {
value.group = value.group || "Ungrouped";
if (!acc[value.group]) {
acc[value.group] = [];
}
acc[value.group].push(value);
return acc;
},[]);
console.log(ret); // <---- This works!!
return ret;
},...mapState(["currentPatient","currentSite","phrases","templates"]),},
当我查看控制台时,可以看到正确的响应,即
app.js:4061 [Ungrouped: Array(6),Note: Array(2),Order Set: Array(3)]
但是,当我在代码中使用groupedTemplates
时,它的值为[]
当我将返回行更改为
return 34;
它按预期返回34。有什么作用?
解决方法
因为您的reduce
不会将项添加到数组中,而是在Array
对象上创建新的属性-您无法use a string as an index到数组中。
您可能想要的是从您计算的Object
中返回groupedTemplates
...