MCPInstall

syncfusion-angular-dropdowntree

Implement Syncfusion Angular Dropdown Tree component for hierarchical data selection with single or multiple values. Use this when selecting items from tree-structured hierarchies, enabling checkboxes for multi-selection, binding hierarchical data, customizing tree items with templates, or implementing parent-child dependent selection. Works with self-referential structures and remote OData/REST endpoints for category selectors and organizational interfaces.

Installs
308
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/syncfusion/angular-ui-components-skills --skill syncfusion-angular-dropdowntree
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads syncfusion-angular-dropdowntree automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Implementing Syncfusion Angular Dropdown Tree

The Dropdown Tree component allows you to select single or multiple values from hierarchical data in a tree-like structure. It provides essential features like data binding, checkboxes, templates, and accessibility, making it ideal for displaying categorized selections, organizational hierarchies, and nested data structures.

When to Use This Skill

Use the Dropdown Tree component when you need to:

  • Hierarchical Selection - Allow users to select from nested, tree-structured data (categories, file hierarchies, organizational trees)
  • Multi-Selection - Enable checkbox-based selection of multiple items with optional auto-check (parent-child sync)
  • Dynamic Data - Bind local arrays, self-referential structures, or remote OData/REST endpoints
  • Customized Display - Use item templates, value templates, headers, and footers for rich UI customization
  • Large Datasets - Support remote data with lazy loading to optimize performance
  • Localization - Adapt component text and messages for different cultures and languages

Component Overview

The Dropdown Tree provides a compact dropdown input that expands to show a full tree structure with powerful filtering, selection, and templating capabilities. Unlike flat dropdowns, it maintains hierarchical relationships, enabling intuitive navigation through multi-level data.

Key Characteristics:

  • Single or multiple item selection
  • Checkbox-based multi-selection with optional auto-check
  • Local hierarchical and self-referential data binding
  • Remote data binding with DataManager (OData, ODataV4, WebAPI)
  • Rich templating: items, values, headers, footers, no-records, action-failure
  • Built-in accessibility with keyboard navigation and ARIA attributes
  • Full localization support

Documentation and Navigation Guide

Getting Started

📄 Read: references/getting-started.md

  • Dependencies and package setup
  • Angular CLI configuration
  • Module registration (@syncfusion/ej2-angular-dropdowns)
  • CSS imports and theme configuration
  • Basic component integration
  • First working example with local data

Data Binding

📄 Read: references/data-binding.md

  • Hierarchical data structure (nested arrays)
  • Self-referential data binding (flat arrays with parentValue)
  • Remote data with DataManager
  • OData and ODataV4 adaptors
  • WebAPI adaptor configuration
  • Query-based filtering

Checkbox Features

📄 Read: references/checkbox-features.md

  • Enable checkboxes with showCheckBox property
  • Multi-selection without UI disruption
  • Auto-check hierarchical behavior (parent-child sync)
  • Select All feature (showSelectAll with custom labels)
  • Checkbox state synchronization
  • Intermediate states (partially checked)

Templates and Customization

📄 Read: references/templates.md

  • Item template for custom tree item rendering
  • Value template for selected item display
  • Header and footer templates
  • No records and action failure templates
  • Custom display template for multi-selection (Custom mode)
  • Template expressions and interpolation

Localization

📄 Read: references/localization.md

  • Supported localization keys and default messages
  • Setting locale and culture
  • Customizing locale-specific strings
  • Key messages: noRecordsTemplate, actionFailureTemplate, overflowCountTemplate, totalCountTemplate
  • Multi-language configuration

API Reference

📄 Read: references/api-reference.md

  • Core properties and field mappings
  • TreeSettings configuration options
  • Common events and callbacks
  • Best practices for property configuration
  • Performance optimization tips

Methods and Events

📄 Read: references/methods-and-events.md

  • Component methods: showPopup(), hidePopup(), refresh(), clearSelection(), expandAll(), collapseAll()
  • Selection events: change, select
  • Popup events: open, close, beforeOpen
  • Data events: dataBound, actionFailure, filtering
  • Lifecycle events: created, destroyed
  • User interaction events: focus, blur, keyPress
  • Event arguments and signatures
  • Complete working examples

Quick Start Example

Here's a minimal working example with hierarchical data:

import { Component } from '@angular/core';
import { DropDownTreeModule } from '@syncfusion/ej2-angular-dropdowns';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';

@Component({
  selector: 'app-dropdown-tree',
  template: `<ejs-dropdowntree id='dropdowntree' 
                [fields]='fields' 
                placeholder='Select a category'></ejs-dropdowntree>`,
  standalone: true,
  imports: [DropDownTreeModule, FormsModule, ReactiveFormsModule]
})
export class AppComponent {
  // Hierarchical data structure with nested arrays
  public data = [
    {
      nodeId: '01', nodeText: 'Music',
      nodeChild: [
        { nodeId: '01-01', nodeText: 'Gouttes.mp3' }
      ]
    },
    {
      nodeId: '02', nodeText: 'Videos', expanded: true,
      nodeChild: [
        { nodeId: '02-01', nodeText: 'Naturals.mp4' },
        { nodeId: '02-02', nodeText: 'Wild.mpeg' }
      ]
    }
  ];

  // Field mapping: value=nodeId, text=nodeText, child=nodeChild
  public fields = { 
    dataSource: this.data, 
    value: 'nodeId', 
    text: 'nodeText', 
    child: 'nodeChild' 
  };
}

Common Patterns

Pattern 1: Multi-Selection with Checkboxes

@Component({
  template: `<ejs-dropdowntree id='dropdowntree' 
                [fields]='fields' 
                [showCheckBox]='true' 
                [showSelectAll]='true'
                selectAllText='Check All' 
                unSelectAllText='Uncheck All'></ejs-dropdowntree>`,
  standalone: true,
  imports: [DropDownTreeModule, FormsModule, ReactiveFormsModule]
})
export class CheckboxExample {
  public data = [
    { id: 1, name: 'Music', hasChild: true, expanded: true },
    { id: 2, pid: 1, name: 'Hot Singles' },
    { id: 3, pid: 1, name: 'Rising Artists' }
  ];
  public fields = { 
    dataSource: this.data, 
    value: 'id', 
    text: 'name', 
    parentValue: 'pid', 
    hasChildren: 'hasChild' 
  };
}

When to use: Allow users to select multiple items in a single interaction, with convenient "Select All" option. Use selectAllText for unchecked label and unSelectAllText for checked label.

Pattern 2: Auto-Check (Parent-Child Sync)

@Component({
  template: `<ejs-dropdowntree [fields]='fields' 
                [showCheckBox]='true' 
                [treeSettings]='{ autoCheck: true }'></ejs-dropdowntree>`
})
export class AutoCheckExample {
  public fields = { dataSource: this.data, /* ... */ };
}

When to use: Enforce hierarchical consistency—checking a parent automatically checks all children, and unchecking the last child unchecks the parent (intermediate state for partial selection).

Pattern 3: Remote Data with OData

import { DataManager, ODataV4Adaptor, Query } from '@syncfusion/ej2-data';

@Component({
  template: `<ejs-dropdowntree [fields]='fields'></ejs-dropdowntree>`
})
export class RemoteDataExample {
  public data = new DataManager({
    url: 'url',
    adaptor: new ODataV4Adaptor,
    crossDomain: true
  });
  
  public fields = {
    dataSource: this.data,
    query: new Query().from('Employees').select('EmployeeID,FirstName').take(5),
    value: 'EmployeeID',
    text: 'FirstName',
    hasChildren: 'EmployeeID'
  };
}

When to use: Fetch hierarchical data from a remote server, reducing initial load and supporting large datasets.

Pattern 4: Custom Item Display

@Component({
  template: `<ejs-dropdowntree [fields]='fields' 
                [itemTemplate]='itemTemplate'></ejs-dropdowntree>`
})
export class TemplateExample {
  public itemTemplate = '<div><strong>${name}</strong> - ${type}</div>';
  public fields = { dataSource: this.data, /* ... */ };
}

When to use: Display rich, formatted content for each tree item (names, icons, metadata).

Key Features

FeatureUse Case
Hierarchical DataOrganize items in parent-child relationships (categories, departments, file trees)
CheckboxesEnable multi-selection without affecting dropdown UI
Auto-CheckSynchronize parent-child selection states automatically
Remote BindingFetch data from OData, REST APIs, or custom endpoints
TemplatesCustomize item display, headers, footers, and selected value format
AccessibilityFull keyboard navigation, ARIA attributes, screen reader support
LocalizationSupport for multiple languages and regional formats
Select AllQuickly select or deselect all items with a single click

FAQ

What does the syncfusion-angular-dropdowntree skill do?

Implement Syncfusion Angular Dropdown Tree component for hierarchical data selection with single or multiple values. Use this when selecting items from tree-structured hierarchies, enabling checkboxes for multi-selection, binding hierarchical data, customizing tree items with templates, or implementing parent-child dependent selection. Works with self-referential structures and remote OData/REST endpoints for category selectors and organizational interfaces.

How do I install syncfusion-angular-dropdowntree?

Run npx skills add https://github.com/syncfusion/angular-ui-components-skills --skill syncfusion-angular-dropdowntree in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/syncfusion-angular-dropdowntree/ (personal) or .claude/skills/syncfusion-angular-dropdowntree/ (project).

Which AI agents can use syncfusion-angular-dropdowntree?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is syncfusion-angular-dropdowntree safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains syncfusion-angular-dropdowntree?

It is published by syncfusion in syncfusion/angular-ui-components-skills. It has 308 recorded installs.

More from syncfusion/angular-ui-components-skills

View all →

syncfusion-angular-grid

syncfusion/angular-ui-components-skills

Implements Syncfusion Angular Grid component for feature-rich data tables and grids. Use this when working with data display, sorting, filtering, grouping, aggregates, editing, or exporting. This skill covers grid configuration, CRUD operations, virtual scrolling or infinite scrolling, hierarchy grids, state persistence, and advanced data management features for data-intensive applications.

Frontend & Design342 installs

syncfusion-angular-common

syncfusion/angular-ui-components-skills

Common utilities and features for Syncfusion Angular components. Use this skill when the user needs to implement animations, drag-and-drop, state persistence, RTL support, localization, globalization, security, templates, and advanced features for Syncfusion Angular components.

Frontend & Design327 installs

syncfusion-angular-chart

syncfusion/angular-ui-components-skills

Implement Syncfusion Angular Chart component for professional data visualization. Use this when creating or customizing charts such as line, bar, column, area, pie, financial (candlestick, OHLC), scatter, bubble, or stock charts. Supports axes configuration, series binding, legends, tooltips, zooming, real-time updates, technical indicators, themes, export, and accessibility features.

Frontend & Design321 installs

syncfusion-angular-license

syncfusion/angular-ui-components-skills

Use this skill when the user asks about Syncfusion Angular licensing, license keys, license registration, license validation errors, trial licenses, or license troubleshooting. This skill provides comprehensive guidance on generating, registering, and managing Syncfusion license keys for Angular applications, including edition-based and platform-based licensing models, registration methods, CI/CD integration, and resolving common licensing errors.

Frontend & Design319 installs

syncfusion-angular-themes

syncfusion/angular-ui-components-skills

Use this skill when users need to apply themes, customize appearance, switch dark mode, use CSS variables, configure icons, or modify visual styling for Syncfusion Angular components. Covers icon library, size modes, and Theme Studio integration.

Frontend & Design319 installs

syncfusion-angular-rich-text-editor

syncfusion/angular-ui-components-skills

Open the skill to read its SKILL.md instructions.

Frontend & Design317 installs

Popular frontend & design skills

View category →

setup-matt-pocock-skills

mattpocock/skills

Configure this repo for the engineering skills: set up its issue tracker, triage label vocabulary, and domain doc layout. Run once before first use of the other engineering skills.

Frontend & Design1.1M installs

frontend-design

anthropics/skills

Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.

OfficialFrontend & Design1M installs

hyperframes-animation

heygen-com/hyperframes

All animation knowledge for HyperFrames — atomic motion rules, multi-phase scene blueprints, scene transitions, broader motion-design techniques, AND the seven runtime adapters (GSAP default, plus Lottie, Three.js, Anime.js, CSS keyframes, Web Animations API, TypeGPU). Use for any motion or animation task: pick 2-4 rules and compose, or load a blueprint, or look up runtime-specific API (e.g. GSAP eases / Lottie player / Three.js mixer). Also covers auditing an existing composition's choreography (animation map) and 24 named text-animation effects. HyperFrames-native: single paused timeline, seek-safe, deterministic.

prototype

mattpocock/skills

Build a throwaway prototype to answer a design question. Use when the user wants to sanity-check whether a state model or logic feels right, or explore what a UI should look like.

Frontend & Design999.2K installs

hyperframes-core

heygen-com/hyperframes

The HyperFrames composition contract — build one renderable project. Use for composition structure, the data- timing attributes, class="clip", tracks, sub-compositions, variables, framework-owned media playback, deterministic-render rules, and validation. Read before writing composition HTML.

Frontend & Design930.5K installs

vercel-react-best-practices

vercel-labs/agent-skills

React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.

OfficialFrontend & Design843.1K installs