Clone wiki

flutter_treeview / Home

Flutter TreeView Widget

User Guide


Welcome! This is the documentation for the Flutter TreeView Widget. This widget was developed due to my need to display hierarchical data in an app I was developing. There were a limited number of tree view widgets already available and those that existed didn’t quite meet my needs so I decided to create my own. I tried to make the TreeView widget to be as flexible as possible but of course, there is always room for improvement. Use this guide to help you get started with adding the TreeView to your project.

If you find any issues or have suggestions, please submit an issue request


This TreeView widget can be used to display hierarchical in your project. Examples are: * directory structures * organization charts * nested screen relationships * inheritance trees, etc.

This widget uses a controller to manage the data. This allows the user to manipulate the data outside of the build method. The data must be a list of type Node. Each node can have it’s own children list of type Node, thus creating the nested structure. The appearance of the TreeView can be controlled using a TreeViewTheme.


  • Separately customize child and parent labels
  • Icon any icon to node
  • Choose from four different expander icons and several modifiers for adjusting shape, outline, and fill.
  • Import data from Map
  • Properties for handling user interactions
  • Convenience methods for adding, updating and deleting nodes

Classes and Enums

[ExpanderThemeData], [Node], [NodeIcon], [TreeView], [TreeViewController], [TreeViewTheme], [ExpanderModifier], [ExpanderPosition], [ExpanderType], [InsertMode]


Depend on it

Add this to your package’s pubspec.yaml file:

    flutter_treeview: any

Install it

You can install packages from the command line with flutter:

$ flutter pub get

Import it

Now in your Dart code, you can use:

import "package:flutter_treeview/tree_view.dart"

More Information

API Reference