watch method
Widget
watch({
- required Widget builder(
- BuildContext context,
- TreeItemView<
TKey, TItem> node
- Key? key,
Rebuilds builder when this node's expand/collapse state changes.
Implementation
Widget watch({
required Widget Function(
BuildContext context,
TreeItemView<TKey, TItem> node,
)
builder,
Key? key,
}) {
return TreeNodeBuilder<TKey, TItem>(
key: key,
controller: controller,
nodeId: this.key,
builder: (context, hasChildren, isExpanded) {
final current = controller.getNodeData(this.key);
if (current == null) {
return const SizedBox.shrink();
}
return builder(
context,
TreeItemView<TKey, TItem>(
key: this.key,
item: current.data,
depth: controller.getDepth(this.key),
parentKey: controller.getParent(this.key),
controller: controller,
),
);
},
);
}