如何解决计算属性返回空数组
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
...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。