TreeController<NodeData extends Object> constructor
TreeController<NodeData extends Object> ({
- NodeData? tree,
- required ChildrenProvider<
NodeData> childrenProvider, - ExpandProvider<
NodeData> expandProvider = kDefaultExpandProvider,
Implementation
TreeController({
NodeData? tree,
required this.childrenProvider,
this.expandProvider = kDefaultExpandProvider,
}) {
if (tree != null) {
_nodeTree = _generateNodeTree(tree, 0);
_extractVisibleNodes();
}
_sc = ScrollController(
onAttach: (pos) {
if (_offset != 0) {
WidgetsBinding.instance
.addPostFrameCallback((_) => pos.jumpTo(_offset));
}
},
onDetach: (pos) {
_offset = pos.pixels;
},
);
}