Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript MobX将对象添加到可观察数组 将MobX对象添加到可观察阵列_Javascript_Arrays_Mobx_Mobx State Tree - Fatal编程技术网

Javascript MobX将对象添加到可观察数组 将MobX对象添加到可观察阵列

Javascript MobX将对象添加到可观察数组 将MobX对象添加到可观察阵列,javascript,arrays,mobx,mobx-state-tree,Javascript,Arrays,Mobx,Mobx State Tree,我无法将一个对象推到一个可观察的数组中,让它成为我可以迭代的对象 起点(所有数据通过控制台的日志): 并将对象筛选。选项01作为: Proxy {Symbol(mobx administration): ObservableObjectAdministration$$1} [[Handler]]: Object [[Target]]: Object key: "status" value: "rejected" …然后尝试推 self.selectedGlo

我无法将一个对象推到一个可观察的数组中,让它成为我可以迭代的对象

起点(所有数据通过控制台的日志):

并将对象筛选。选项01作为:

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"
[Proxy]
  0: Proxy
    [[Handler]]: Object
      [[Target]]: Object
        key: "status"
        value: "done"
然后尝试推送另一个对象过滤器。选项02为:

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: "rejected"
[Proxy]
  0: Proxy
    [[Handler]]: Object
      [[Target]]: Object
        key: "status"
        value: "done"
所以这里基本上有两个问题,一个是第二次推压优先于第一次推压,但更重要的是,我希望有这样的数据:

[{…}]
  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)
…如果症状持续存在:-)