add method
向樹添加一個節點
Implementation
bool add(TreeValue<TypeID, TypeData> value, {TypeID? parentID}) {
final id = value.id;
if (id == null) {
debugPrint("TreeController not support push id == null");
return false;
} else if (_keys.containsKey(id)) {
debugPrint("TreeController id == $id,already exists");
return false;
}
TreeValueController? parent;
if (parentID == null) {
parent = root;
} else {
parent = _keys[parentID];
if (parent == null) {
debugPrint("TreeController parentID no found $parentID.");
return false;
}
}
final child = TreeValueController(
id: id,
checked: value.checked,
expand: value.expand,
text: value.text,
userdata: value.userdata,
);
_keys[id] = child;
parent._push(child, sort);
return true;
}