插件开发中操作序列化dump数据与Component中相应字段同步问题

诸位好,
我在做一个组件的编辑器插件开发,遇到一个问题,
我组件中定义了一个数组,如:

@property({type:[CCObject], visible:true})
arr:CCObject[] = [];

我在inspector插件中,会有一个按钮 想要对它的元素进行操做。

有两种途径修改:
一是通过发消息给Component:

//这是一个inspector中按钮的handler
add_element() {
    await Editor.Message.request('scene', 'execute-component-method', {
                            uuid: pannelThis.dump.value.arr.value,
                            name: 'add_element',
                            
                        });
}

//这是在Component中的方法
add_element() {
    arr.push(new CCOBject());
}

还有一种是在Inspector中对相关的dump进行操作:

//深克隆一个element
let new_one = JSON.parse(JSON.stringify(pannelThis.dump.value.arr.elementTypeData));
pannelThis.dump.value.arr.value.push(new_one);

现在问题来了,如果在Component里操作,dump不会更新,切换一下Node才会出现;如果在dump里操作,那么增加的数据不会被持久化,切换一下Node那数据又没了。
我觉得在这点上Cocos与Unity做同样操作时有些不同。

我的问题是:

    1. 是否有方法可以使其两者(dump与Component)同步?
    1. 或者有无消息可以互相通知?
    1. 或有无更直接解决方案?

感谢!

我理解是inspector里dump操作是对资源实例化成INode后的数据,可以用scene的save-scene消息通知保存资源(scene或prefab)