[英]MobX adding objects to an observable array
我无法将一个对象推入一个可观察的数组,并且无法对其进行迭代。
起点(所有数据均通过控制台日志):
if (!self.selectedGlobalFilters) self.selectedGlobalFilters = observable([])
并将对象filter.options01作为:
Proxy {Symbol(mobx administration): ObservableObjectAdministration$$1}
[[Handler]]: Object
[[Target]]: Object
key: "status"
value: "rejected"
...然后尝试推送
self.selectedGlobalFilters.push(filter.options01)
给我:
[Proxy]
0: Proxy
[[Handler]]: Object
[[Target]]: Object
key: "status"
value: "rejected"
然后尝试将另一个对象filter.options02推送为:
Proxy {Symbol(mobx administration): ObservableObjectAdministration$$1}
[[Handler]]: Object
[[Target]]: Object
key: "status"
value: "done"
self.selectedGlobalFilters.push(filter.options02)
给我:
[Proxy]
0: Proxy
[[Handler]]: Object
[[Target]]: Object
key: "status"
value: "done"
因此,这里基本上有2个问题,一个是第二个推送覆盖了第一个推送,但更多,所以我想拥有这样的数据:
[{…}]
0:
status: "rejected"
1:
status: "done"
TLDR; 我将如何实现这一目标? 以可迭代的方式将对象推入可观察的数组...
切片数组对输出没有不同的影响。
一如既往地感谢所有方向,在此先感谢您!
我相信这里的问题是,您只观察一个变量,而不是映射整个数组!
@observable selectedGlobalFilters = [];
if (!this.selectedGlobalFilters.length)
this.selectedGlobalFilters.push(filter.options01)
..要么
const gFilter = toJS(this.selectedGlobalFilters)
this.selectedGlobalFilters = gFilter.push(filter.options01)
..如果症状持续:-)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.