Emitted when the active node is changed.
Get/Set the animation settings that branches should use when expanding/collpasing.
<igx-tree [animationSettings]="customAnimationSettings">
</igx-tree>
const animationSettings: ToggleAnimationSettings = {
openAnimation: growVerIn,
closeAnimation: growVerOut
};
this.tree.animationSettings = animationSettings;
A custom template to be used for the expand indicator of nodes
<igx-tree>
<ng-template igxTreeExpandIndicator let-expanded>
<igx-icon>{{ expanded ? "close_fullscreen": "open_in_full"}}</igx-icon>
</ng-template>
</igx-tree>
Emitted when a node is collapsed, after it finishes
Emitted when a node is collapsing, before it finishes
<igx-tree (nodeCollapsing)="handleNodeCollapsing($event)">
</igx-tree>
public handleNodeCollapsing(event: ITreeNodeTogglingEventArgs) {
const collapsedNode: IgxTreeNode<any> = event.node;
if (collapsedNode.alwaysOpen) {
event.cancel = true;
}
}
Emitted when a node is expanded, after it finishes
<igx-tree (nodeExpanded)="handleNodeExpanded($event)">
</igx-tree>
public handleNodeExpanded(event: ITreeNodeToggledEventArgs) {
const expandedNode: IgxTreeNode<any> = event.node;
console.log("Node is expanded: ", expandedNode.data);
}
Emitted when a node is expanding, before it finishes
<igx-tree (nodeExpanding)="handleNodeExpanding($event)">
</igx-tree>
public handleNodeExpanding(event: ITreeNodeTogglingEventArgs) {
const expandedNode: IgxTreeNode<any> = event.node;
if (expandedNode.disabled) {
event.cancel = true;
}
}
Emitted when the node selection is changed through interaction
<igx-tree (nodeSelection)="handleNodeSelection($event)">
</igx-tree>
public handleNodeSelection(event: ITreeNodeSelectionEvent) {
const newSelection: IgxTreeNode<any>[] = event.newSelection;
const added: IgxTreeNode<any>[] = event.added;
console.log("New selection will be: ", newSelection);
console.log("Added nodes: ", event.added);
}
Get/Set how the tree should handle branch expansion.
If set to true
, only a single branch can be expanded at a time, collapsing all others
<igx-tree [singleBranchExpand]="true">
...
</igx-tree>
const tree: IgxTree = this.tree;
this.tree.singleBranchExpand = false;
Get/Set if nodes should be expanded/collapsed when clicking over them.
<igx-tree [toggleNodeOnClick]="true">
...
</igx-tree>
const tree: IgxTree = this.tree;
this.tree.toggleNodeOnClick = false;
Returns all root level nodes
const tree: IgxTree = this.tree;
const rootNodes: IgxTreeNodeComponent<any>[] = tree.rootNodes;
Gets/Sets tree selection mode
Collapses all of the passed nodes. If no nodes are passed, collapses ALL nodes
nodes to be collapsed
const targetNodes: IgxTreeNode<any> = this.tree.findNodes(true, (_data: any, node: IgxTreeNode<any>) => node.data.collapsible);
tree.collapseAll(nodes);
Deselect all nodes if the nodes collection is empty. Otherwise, deselect the nodes in the nodes collection.
Expands all of the passed nodes. If no nodes are passed, expands ALL nodes
nodes to be expanded
const targetNodes: IgxTreeNode<any> = this.tree.findNodes(true, (_data: any, node: IgxTreeNode<any>) => node.data.expandable);
tree.expandAll(nodes);
Returns all of the nodes that match the passed searchTerm. Accepts a custom comparer function for evaluating the search term against the nodes.
The data of the searched node
A custom comparer function that evaluates the passed searchTerm
against all nodes.
IgxTreeComponent allows a developer to show a set of nodes in a hierarchical fashion.
Igx Module
IgxTreeModule
Igx Keywords
tree
Igx Theme
igx-tree-theme
Igx Group
Grids & Lists
Remark
The Angular Tree Component allows users to represent hierarchical data in a tree-view structure, maintaining parent-child relationships, as well as to define static tree-view structure without a corresponding data model. Its primary purpose is to allow end-users to visualize and navigate within hierarchical data structures. The Ignite UI for Angular Tree Component also provides load on demand capabilities, item activation, bi-state and cascading selection of items through built-in checkboxes, built-in keyboard navigation and more.
Example