syncfusion/react-ui-components-skills14 files

Syncfusion React Treeview

Implement Syncfusion React TreeView component for hierarchical data display with node selection, drag-drop reordering, inline editing, and custom templating. Use this when building organizational charts, file systems, navigation trees, or any multi-level hierarchical interface. Covers selection modes, checkboxes, filtering, sorting, keyboard navigation, accessibility, and performance optimization with stateless templates.

Specification
Skill ID
syncfusion/react-ui-components-skills/syncfusion-react-treeview
Publisher
syncfusion
Repository
react-ui-components-skills
Installs
0
Files
14
Synced
Sep 23, 2026
How to use it

Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.

syncfusion/react-ui-components-skills/syncfusion-react-treeviewInstalls these files
  • SKILL.md
  • references/advanced-features.md
  • references/context-menu-integration.md
  • references/customization-styling.md
  • references/data-binding.md
  • references/drag-drop-and-reordering.md
  • references/filtering-and-searching.md
  • references/getting-started.md
  • references/inline-editing.md
  • references/keyboard-and-accessibility.md
  • references/node-operations.md
  • references/selection-and-checking.md
  • references/sorting-and-ordering.md
  • references/templates-and-rendering.md

What this skill tells the agent

Syncfusion React TreeView - Comprehensive Implementation Guide

Master the Syncfusion React TreeView component for building powerful hierarchical data interfaces with advanced features, performance optimization, and enterprise-grade functionality.

Quick Start Navigation

Just Getting Started? → Read Getting Started - Installation, setup, first TreeView

Need to Display Hierarchical Data? → See Data Binding - All binding patterns (hierarchical, self-referential, remote, load-on-demand)

Working with Node Templates? → Check Templates and Rendering - nodeTemplate, statelessTemplates (performance), drawNode callback, JSX/HTML templates

Want to CRUD Nodes Programmatically? → Learn Node Operations - Add, remove, update, move, refresh nodes dynamically

Need Checkboxes or Multi-Select? → Read Selection and Checking - Single/multi-selection, checkboxes, parent-child sync, three-state

Implementing Drag-Drop? → See Drag-Drop and Reordering - Single/multi-node drag, validation, restrictions

Allowing Node Editing? → Check Inline Editing - Edit modes, validation, edit events, keyboard shortcuts

Need to Filter or Search? → Learn Filtering and Searching - Text filtering, parent chain inclusion, Predicate queries, dynamic filtering

Want Custom Sorting? → See Sorting and Ordering - Global sort, level-wise sorting, custom algorithms, sortOrder property

Customizing Appearance? → Read Customization and Styling - CSS, icons, level-based styling, full-row selection, hover effects

Keyboard Navigation & A11y? → Check Keyboard Navigation and Accessibility - Shortcuts, ARIA, screen readers, WCAG 2.1 compliance

Advanced Features Needed? → See Advanced Features - Load-on-demand, state persistence, RTL, localization, accordion pattern

Working with Context Menus? → Learn Context Menu Integration - Menu operations, node management via menu, menu state


Component Overview

The TreeViewComponent from @syncfusion/ej2-react-navigations is a versatile hierarchical data display component with enterprise features:

Core Capabilities

CapabilityDetails
Data DisplayHierarchical, self-referential, remote (OData/WebAPI), load-on-demand
Node OperationsCreate, Read, Update, Delete (CRUD) nodes dynamically
SelectionSingle/multiple selection, checkboxes, three-state, auto parent-child sync
EditingInline editing with validation, programmatic edit control
CustomizationNode templates (including stateless optimization), custom icons, CSS styling by level
InteractionDrag-drop (single/multi), context menus, tooltips, keyboard shortcuts
PerformanceLoad-on-demand, stateless templates, filtering, sorting optimization
AccessibilityWCAG 2.1 keyboard navigation, ARIA attributes, screen reader support
InternationalizationRTL support, localization, multiple language packs
State ManagementSession persistence, programmatic node access

Key Properties Overview

<TreeViewComponent
  // Data
  fields={{ dataSource, id, text, parentID, child, hasChildren, expanded }}
  
  // Selection & Checking
  allowMultiSelection={true}
  showCheckBox={true}
  autoCheck={true}
  checkedNodes={[]}
  selectedNodes={[]}
  
  // Interaction
  allowDragAndDrop={true}
  allowEditing={true}
  
  // Customization
  nodeTemplate={templateFunction}
  statelessTemplates={['nodeTemplate']} // NEW: Performance optimization
  cssClass="custom"
  
  // Display
  allowTextWrap={true}
  fullRowSelect={true}
  
  // Behavior
  loadOnDemand={true}
  expandOn="Click"  // or "DoubleClick" or "None" (accordion)
  sortOrder="Ascending"
  
  // Persistence & Internationalization
  enablePersistence={true}
  enableRtl={false}
  locale="en-US"
  
  // Events
  onNodeSelected={handleSelect}
  onNodeExpanded={handleExpand}
  onNodeDropped={handleDrop}
  // ... many more events
/>

Complete Feature Map

1. Data Binding (5 Methods)

  • ✅ Hierarchical nested arrays
  • ✅ Self-referential (parentID) model
  • ✅ Remote OData v4
  • ✅ Remote Web API
  • ✅ Load-on-demand lazy loading

2. Node Operations (11 Methods)

  • ✅ addNodes() - Create nodes
  • ✅ removeNodes() - Delete nodes
  • ✅ updateNode() - Modify node text
  • ✅ refreshNode() - Refresh from backend
  • ✅ moveNodes() - Move to different parent
  • ✅ getNode() - Get node by element
  • ✅ getTreeData() - Get all data
  • ✅ beginEdit()/endEdit() - Programmatic edit control
  • ✅ expandAll()/collapseAll() - Bulk operations
  • ✅ selectNodes()/clearSelection() - Selection control

3. Node Templates (3 Types)

  • ✅ String templates with ${...} interpolation
  • ✅ HTML element ID references
  • ✅ JSX function components
  • ✅ statelessTemplates - Performance optimization (ignore state updates)
  • ✅ drawNode callback - Alternative custom rendering method

4. Selection System (2 Modes)

  • ✅ Single selection
  • ✅ Multi-selection with Ctrl/Shift keyboard
  • ✅ Checkbox mode with three-state support
  • ✅ Parent-child auto-sync (autoCheck)
  • ✅ Independent checkbox mode (autoCheck=false)

5. Drag-Drop (2 Scopes)

  • ✅ Single-node drag
  • ✅ Multi-node drag (requires allowMultiSelection)
  • ✅ Drop validation with indicators (+, -, in-between)
  • ✅ Restrict drag-drop per node type
  • ✅ Custom drag area (dragArea property)

6. Editing

  • ✅ Inline edit (double-click or F2)
  • ✅ Input validation
  • ✅ Programmatic edit (beginEdit/endEdit)
  • ✅ Edit event cancellation

7. Filtering & Searching (Advanced)

  • ✅ Text-based filtering
  • ✅ Parent chain inclusion in results
  • ✅ DataManager with Predicate queries
  • ✅ Dynamic filter updates

8. Sorting (2 Levels)

  • ✅ Global sorting (ascending/descending)
  • ✅ Level-wise custom sorting
  • ✅ DataManager Query integration
  • ✅ Custom sort algorithms

9. Customization

  • ✅ CSS class styling by level
  • ✅ Custom expand/collapse icons
  • ✅ Dynamic icon per node
  • ✅ Full-row selection styling
  • ✅ Multi-line text wrapping
  • ✅ Icon visibility toggle (hover effects)

10. Keyboard Navigation (15+ Shortcuts)

  • ✅ Arrow keys for navigation
  • ✅ Home/End for first/last node
  • ✅ F2 for inline edit
  • ✅ Enter to confirm/select
  • ✅ Escape to cancel
  • ✅ Ctrl+Click for multi-select
  • ✅ Shift+Click for range select

11. Accessibility

  • ✅ WCAG 2.1 AA keyboard support
  • ✅ ARIA attributes (roles, properties, states)
  • ✅ Screen reader announcements
  • ✅ Focus management
  • ✅ Semantic HTML structure

12. Advanced Features

  • ✅ Load-on-demand with lazy loading
  • ✅ State persistence across sessions
  • ✅ RTL (right-to-left) support
  • ✅ Localization (16+ languages)
  • ✅ Accordion pattern (expandOn='None')
  • ✅ Event cancellation (preventable events)
  • ✅ Virtual scrolling for large datasets

13. Integration

  • ✅ Context menu integration
  • ✅ Toolbar integration
  • ✅ Tooltip support
  • ✅ Data operations via menu

14. Events (19 Events)

  • ✅ created, dataBound
  • ✅ nodeSelected, nodeSelecting, nodeClicked, nodeDoubleClicked
  • ✅ nodeExpanded, nodeExpanding, nodeCollapsed, nodeCollapsing
  • ✅ nodeEdited, nodeEditing
  • ✅ nodeDragStart, nodeDragging, nodeDragStop, nodeDropped
  • ✅ nodeChecked, nodeChecking
  • ✅ drawNode, keyPress

Skill Progression Path

Beginner Level (Start Here)

  1. Getting Started - Installation, basic component, hierarchical data
  2. Data Binding - Learn all 5 binding patterns

Use this skill in a project

Open any RiverX project, search the Skills panel for syncfusion/react-ui-components-skills/syncfusion-react-treeview, and install it in one click.

Use this skill