TreeView<T> class

A hierarchical tree view widget for displaying data in a collapsible structure.

Example:

TreeView<String>(
  nodes: [
    TreeNode<String>(ValueKey('root'), 'Root'),
  ],
  builder: (context, node, isSelected, animation, select) {
    return Text(node.data);
  },
  expanderBuilder: (context, isExpanded, animation) {
    return Icon(isExpanded ? Icons.expand_more : Icons.chevron_right);
  },
)
Inheritance

Constructors

TreeView({required List<TreeNode<T>> nodes, required TreeViewBuilder<T> builder, required ExpanderBuilder expanderBuilder, ExpansionChanged<T>? onExpansionChanged, ValueChanged<TreeNode<T>>? onSelectionChanged, TreeNode<T>? selectedNode, Widget indentation = const SizedBox(width: 16), Key? key, Curve animationCurve = Curves.easeInOut, Duration animationDuration = const Duration(milliseconds: 500)})
Creates a TreeView widget with the specified parameters.
const

Properties

animationCurve Curve
The animation curve for expand/collapse animations.
final
animationDuration Duration
The duration of expand/collapse animations.
final
builder TreeViewBuilder<T>
Builds the content of each node.
final
expanderBuilder ExpanderBuilder
Builds the expander icon (typically an arrow or chevron).
final
hashCode int
The hash code for this object.
no setterinherited
indentation Widget
Widget used for indentation of child nodes.
final
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
nodes List<TreeNode<T>>
The root nodes of the tree view.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
selectedNode TreeNode<T>?
The currently selected node, if any.
final

Methods

createElement() StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() State<TreeView<T>>
Creates the mutable state for this widget at a given location in the tree.
override
debugDescribeChildren() List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) String
A string representation of this object.
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) String
Returns a string representation of this node and its descendants.
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a one-line detailed description of the object.
inherited
toStringShort() String
A short, textual description of this widget.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited