我有一个对象结构,其中包含相同类型对象的嵌套列表。如下 :
class NoteModel {
String id;
String data;
List<NoteModel> children;
NoteModel({
this.id,
this.data,
List<NoteModel> children,
}) : children = children ?? [];
}
和一个示例数据结构如下:
var _result = NoteModel(
id: 'main Head',
data: 'main Head Data',
children: [
NoteModel(
id: ' child 1',
data: 'child 1 data',
children: [],
),
NoteModel(
id: 'child 2',
data: 'child 2 data',
children: [
NoteModel(
id: 'subchild 1',
data: 'subchild 1 of child 2',
children: [],
),
],
),
NoteModel(
id: 'child 3',
data: 'child 3 data',
children: [],
)
],
);
和 [Custom Widget] 将显示“id”、“data”和使用此结构的 [Custom Widget] 列表。当我尝试添加(将对象添加到子级的父小部件上的按钮)或删除(将自身从父级的子级列表中删除的子级小部件上的按钮)时,我的问题出现了。
NoteModel 的对象实例在按下按钮时发生变化,但是列表树没有刷新。我已经尝试了所有手动方法,并尝试使用 GetX。但是,当从树的深处添加/删除某些小部件时,我找不到会触发使用更新的 NoteModel 实例重建小部件树的解决方案。
但是,在此重建过程中,我只想重建某些部分以避免重建其他部分,例如子 [自定义小部件] 中不会更改的任何按钮。
请帮忙,我是新手,尝试了很多东西,但找不到任何解决方案来添加/删除嵌套子项中的操作。