Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问许可证需确认审计提醒

syncfusion-react-dropdown-treesyncfusion React dropdown tree 搜索

Agent Skill

用于辅助前端页面、组件、样式和交互逻辑的开发与维护。它适合让 Agent 生成或审查 React、Next.js、Vue、Tailwind、CSS 等相关代码,整理组件结构,或定位布局和性能问题。使用时需要结合项目现有设计系统、路由和构建方式,避免只生成孤立片段;涉及页面改动时,应配合本地预览和构建检查确认视觉效果。

总安装

1,922

周安装

77

GitHub Stars

1

下载量

622
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:syncfusion-react-dropdown-tree(syncfusion React dropdown tree 搜索)
来源仓库:https://github.com/syncfusion/react-ui-components-skills
仓库路径:skills/syncfusion-react-dropdown-tree
安装命令:
npx skills add https://github.com/syncfusion/react-ui-components-skills --skill syncfusion-react-dropdown-tree
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/syncfusion/react-ui-components-skills --skill syncfusion-react-dropdown-tree

简介

用于辅助 React 前端页面、组件、样式和交互逻辑的开发与维护。

  • 适合生成或审查 React、Next.js、Vue、Tailwind、CSS 等相关代码,整理组件结构,或定位布局和性能问题。
  • 使用时需要结合项目现有设计系统、路由和构建方式,避免只生成孤立片段;涉及页面改动时,应配合本地预览和构建检查确认视觉效果。
  • 通过 GitHub 安装,支持 Codex、Claude、Cursor、Gemini CLI 等宿主环境。
  • 需确保项目已集成 Syncfusion React 组件库,否则可能无法正常运行相关功能。

SKILL.md

Implementing Dropdown Tree

The Dropdown Tree component displays hierarchical data in a collapsible tree structure within a dropdown interface. It combines tree navigation with dropdown accessibility, supporting multi-selection via checkboxes, lazy loading for large datasets, comprehensive customization through templates and events, filtering, and full accessibility with RTL and localization support.

When to Use This Skill

Use Dropdown Tree immediately when you need to:

  • Display hierarchical data - Show nested categories, organizational structures, file trees, or department hierarchies
  • Enable multi-selection - Allow users to select multiple items with checkbox support or keyboard modifiers
  • Support lazy loading - Optimize performance with large datasets by loading children on demand
  • Customize display - Use templates to format items, headers, footers, selected values, or error states
  • Implement filtering - Enable search functionality with configurable filter types (StartsWith, EndsWith, Contains)
  • Ensure accessibility - Provide WAI-ARIA compliance, keyboard navigation, and screen reader support
  • Support multiple languages - Localize UI with customizable keys and RTL support
  • Bind remote data - Integrate with OData, OData V4, Web APIs, or other remote data services
  • Handle complex selection logic - Use events, auto-check hierarchy, or selective node disabling

Component Overview

The Dropdown Tree features:

  • Hierarchical display: Local (hierarchical/self-referential) and remote data sources with flexible binding
  • Multi-selection modes: Checkboxes with auto-check, multi-select with Ctrl/Shift keys, single select (default)
  • Flexible templates: Item, value, header, footer, noRecords, and actionFailure templates for custom rendering
  • Performance optimization: Lazy loading (load-on-demand) for efficient large dataset handling
  • Search & filtering: Built-in filter bar with configurable filter types and case sensitivity options
  • Comprehensive events: change, select, dataBound, filtering, beforeOpen, focus, keyPress, and popup events
  • Accessibility: Full WAI-ARIA (roles, attributes), keyboard navigation, screen reader support, WCAG 2.2 compliance
  • Localization: Multi-language support with 4 customizable keys and locale override
  • RTL support: Right-to-left layout rendering
  • Tree settings: Advanced configuration (expandOn, autoCheck, loadOnDemand, checkDisabledChildren)
  • Field mapping: Flexible data structure support (value, text, child, parentValue, expanded, hasChildren, selectable, iconCss, imageUrl, htmlAttributes)
  • Display modes: Default, Delimiter, and Custom modes for selected items

Documentation and Navigation Guide

Getting Started

📄 Read: references/getting-started.md

  • Installation and package dependencies (npm install command)
  • React/TypeScript project setup (Vite and Create React App)
  • Basic component implementation and initialization
  • CSS imports and theme configuration
  • First render and minimal working example

Data Binding

📄 Read: references/data-binding.md

  • Local data binding (hierarchical and self-referential structures)
  • Remote data with DataManager and various adaptors (OData, OData V4, WebAPI, URL)
  • Field mapping for value, text, child, parentValue, expanded, hasChildren
  • Load on demand (lazy loading) for large datasets
  • Preventing node selection with selectable field
  • Query configuration for remote data services

Checkbox & Multi-Selection

📄 Read: references/checkbox-selection.md

  • Enabling checkbox support with showCheckBox property
  • Multi-selection workflow and accessing selected values
  • Auto-check hierarchical behavior (parent-child synchronization)
  • Select All feature with customizable selectAllText and unSelectAllText
  • Intermediate checkbox states for partial selection
  • CheckDisabledChildren behavior for disabled nodes

Templates

📄 Read: references/templates.md

  • Item template for custom list item rendering
  • Value template for selected display customization
  • Header template for static content above items
  • Footer template for static content below items
  • NoRecords template for empty state handling
  • ActionFailure template for error state handling
  • CustomTemplate for multi-select display customization
  • Template expression syntax and data access patterns

Multi-Selection & Filtering

📄 Read: references/multi-selection-filtering.md

  • allowMultiSelection property and Ctrl/Shift keyboard interaction
  • Display modes: Default, Delimiter, Custom
  • delimiterChar and mode configuration
  • allowFiltering and filter bar implementation
  • Filter types: StartsWith, EndsWith, Contains
  • filterBarPlaceholder customization
  • ignoreCase and ignoreAccent options

Tree Settings & Configuration

📄 Read: references/tree-settings.md

  • loadOnDemand for lazy loading implementation
  • autoCheck for hierarchical checkbox synchronization
  • expandOn behavior (Auto, Click, DblClick, None)
  • checkDisabledChildren for disabled node handling
  • Tree expansion and collapse control

Field Mapping & Custom Data Structures

📄 Read: references/field-mapping.md

  • Core fields: value, text, dataSource, child, parentValue
  • Node state fields: expanded, hasChildren, selected, selectable
  • Display enhancement fields: iconCss, imageUrl, htmlAttributes
  • Query and tableName for remote data
  • Nested field mapping for hierarchical data

Advanced Features & API Reference

📄 Read: references/advanced-features.md

  • Properties (60+ properties with descriptions and examples)
  • Methods (getSelectedNodes, getCheckedNodes, setCheckedNodes, etc.)
  • Events (change, select, dataBound, filtering, beforeOpen, focus, keyPress, popup)
  • Event arguments (EventArgs structures with property descriptions)
  • Styling and CSS customization
  • Performance optimization techniques

Accessibility & Localization

📄 Read: references/accessibility-localization.md

  • WCAG 2.2 and Section 508 compliance standards
  • WAI-ARIA attributes and roles (listbox, treeitem, checkbox, group, etc.)
  • Keyboard navigation shortcuts (Alt+Down, Arrow keys, Enter, Space, etc.)
  • Screen reader and assistive technology support
  • Localization keys (noRecordsTemplate, actionFailureTemplate, overflowCountTemplate, totalCountTemplate)
  • Culture customization with locale property
  • RTL (Right-to-Left) language support with enableRtl

Quick Start

Basic Dropdown Tree with Hierarchical Data

import { DropDownTreeComponent } from '@syncfusion/ej2-react-dropdowns';
import '@syncfusion/ej2-dropdowns/styles/material.css';

function App() {
  const data = [
    { id: '1', name: 'Electronics', expanded: true },
    { id: '2', name: 'Laptops', parentId: '1' },
    { id: '3', name: 'Phones', parentId: '1' },
    { id: '4', name: 'Appliances' },
  ];

  return (
    <DropDownTreeComponent
      id="dropdowntree"
      fields={{ dataSource: data, value: 'id', text: 'name', parentValue: 'parentId', hasChildren: 'hasChild' }}
      placeholder="Select an item"
    />
  );
}

export default App;

With Checkboxes and Auto-Check

<DropDownTreeComponent
  id="dropdowntree"
  fields={{ dataSource: data, value: 'id', text: 'name', parentValue: 'parentId', hasChildren: 'hasChild' }}
  showCheckBox={true}
  showSelectAll={true}
  treeSettings={{ autoCheck: true }}
  placeholder="Select items"
/>

With Filtering

<DropDownTreeComponent
  id="dropdowntree"
  fields={{ dataSource: data, value: 'id', text: 'name', parentValue: 'parentId' }}
  allowFiltering={true}
  filterType="Contains"
  filterBarPlaceholder="Search items..."
  placeholder="Select an item"
/>

With Custom Templates

<DropDownTreeComponent
  id="dropdowntree"
  fields={{ dataSource: data, value: 'id', text: 'name', parentValue: 'parentId' }}
  itemTemplate={(props) => (
    <div style={{ display: 'flex', gap: '8px', alignItems: 'center' }}>
      <span>{props.name}</span>
      <small style={{ color: '#999' }}>({props.category})</small>
    </div>
  )}
  valueTemplate={(props) => <span>{props.name}</span>}
  placeholder="Select item"
/>

Common Patterns

Pattern 1: Self-Referential Data Binding

For flat data structures with parent references:

const data = [
  { id: 1, name: 'Discover Music', hasChild: true, expanded: true },
  { id: 2, pid: 1, name: 'Hot Singles' },
  { id: 3, pid: 1, name: 'Rising Artists' },
  { id: 7, name: 'Sales and Events', hasChild: true },
  { id: 8, pid: 7, name: '100 Albums' },
];

<DropDownTreeComponent
  id="dropdowntree"
  fields={{
    dataSource: data,
    value: 'id',
    text: 'name',
    parentValue: 'pid',
    hasChildren: 'hasChild',
  }}
/>

Pattern 2: Event Handling for Selection Changes

const handleChange = (args) => {
  console.log('Old values:', args.oldValue); // string[]
  console.log('New values:', args.value); // string[]
  console.log('User interaction:', args.isInteracted); // boolean
};

const handleSelect = (args) => {
  console.log('Action:', args.action); // 'select' or 'unselect'
  console.log('Item data:', args.itemData); // object
};

<DropDownTreeComponent
  id="dropdowntree"
  fields={fields}
  onChange={handleChange}
  onSelect={handleSelect}
/>

Pattern 3: Multi-Select with Auto-Check

<DropDownTreeComponent
  id="dropdowntree"
  fields={fields}
  showCheckBox={true}
  treeSettings={{ autoCheck: true }}
  mode="Default"
  delimiterChar=", "
  placeholder="Select multiple items"
/>

Pattern 4: Lazy Loading for Large Datasets

const remoteData = new DataManager({
  url: 'url',
  adaptor: new UrlAdaptor(),
});

<DropDownTreeComponent
  id="dropdowntree"
  fields={{ dataSource: remoteData, value: 'id', text: 'name', hasChildren: 'hasChild' }}
  treeSettings={{ loadOnDemand: true }}
  placeholder="Loading..."
/>

Pattern 5: Custom Item Styling with IconCss

const data = [
  { id: 1, name: 'Documents', iconCss: 'e-folder', hasChild: true },
  { id: 2, pid: 1, name: 'Resume.pdf', iconCss: 'e-pdf' },
  { id: 3, pid: 1, name: 'Report.docx', iconCss: 'e-docx' },
];

<DropDownTreeComponent
  id="dropdowntree"
  fields={{
    dataSource: data,
    value: 'id',
    text: 'name',
    iconCss: 'iconCss',
    parentValue: 'pid',
    hasChildren: 'hasChild',
  }}
/>

Pattern 6: RTL & Localization Support

<DropDownTreeComponent
  id="dropdowntree"
  fields={fields}
  enableRtl={true}
  locale="ar"
  placeholder="اختر عنصرا"
/>

Key Props Overview

PropertyTypeDescription
Core
idstringUnique identifier for the component
fieldsFieldsModelData source and field mapping configuration
placeholderstringInput placeholder text
enabledbooleanEnable/disable component (default: true)
Selection
showCheckBoxbooleanEnable checkbox multi-selection (default: false)
showSelectAllbooleanShow Select All checkbox (default: false)
selectAllTextstring"Select All" label text
unSelectAllTextstring"Unselect All" label text
allowMultiSelectionbooleanEnable multi-selection with Ctrl/Shift keys
Templates
itemTemplatestring \FunctionCustom item rendering
valueTemplatestring \FunctionCustom selected value display
headerTemplatestring \FunctionCustom header content
footerTemplatestring \FunctionCustom footer content
noRecordsTemplatestring \FunctionEmpty state template
actionFailureTemplatestring \FunctionError state template
Filtering
allowFilteringbooleanEnable search/filter bar (default: false)
filterTypeTreeFilterTypeFilter type: StartsWith, EndsWith, Contains
filterBarPlaceholderstringFilter bar placeholder text
ignoreCasebooleanCase-insensitive filtering (default: true)
ignoreAccentbooleanIgnore diacritics in filtering
Tree Settings
treeSettingsTreeSettingsModelTree behavior configuration (autoCheck, loadOnDemand, expandOn)
Display
modestringDisplay mode: Default, Delimiter, Custom
delimiterCharstringDelimiter for multi-select (default: ", ")
customTemplatestringCustom multi-select display template
Localization & RTL
localestringCulture code (default: "en")
enableRtlbooleanEnable Right-to-Left layout
enablePersistencebooleanPersist state between page reloads
Styling
cssClassstringCSS class for root and popup
widthstring \numberComponent width
popupHeightstring \numberPopup height
htmlAttributesobjectHTML attributes for the component

Decision Guide

Choosing Data Binding:

  • Local hierarchical - Nested JSON objects with child property for small-to-medium datasets
  • Local self-referential - Flat arrays with parentValue field for structured data
  • Remote with DataManager - OData/Web API for large datasets, dynamic loading, real-time data

Choosing Selection Mode:

  • Single select - Default (no checkboxes, no multi-select), read-only visual selection
  • Checkboxes - showCheckBox={true} for explicit multi-selection
  • Multi-select - allowMultiSelection={true} for Ctrl/Shift keyboard selection
  • Auto-check - Combine checkboxes with treeSettings={{autoCheck: true}} for hierarchy sync

Choosing Template:

  • itemTemplate - Custom formatting per tree item (name + description, icons, badges)
  • valueTemplate - Custom display in input field (combined text, formatted values)
  • headerTemplate - Static controls above list (instructions, search help, custom controls)
  • footerTemplate - Static content below list (count summary, action buttons)
  • noRecordsTemplate - Empty state when no data or search yields no results
  • actionFailureTemplate - Error message when data fetch fails

When to Use Lazy Loading:

  • Large datasets (1000+ items)
  • Performance-critical applications
  • Data fetched from remote API with pagination
  • Hierarchies with many levels

When to Use Filtering:

  • Large datasets requiring search
  • User-friendly discovery of items
  • Reducing cognitive load for selection

Next Steps

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

38.87%
按下载量换算242

Claude

28.98%
按下载量换算180

Cursor

19.32%
按下载量换算120

Gemini CLI

8.91%
按下载量换算55

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills