Skip to main content

syncfusion-react-accordion

Guide users to implement Syncfusion React Accordion component for collapsible content panels. Use this skill whenever the user needs to create expandable/collapsible sections, accordion layouts, tabbed content panels, multi-step forms, FAQs, or navigation with expandable items. Covers component setup, expand modes, animations, dynamic content loading, styling, events, lifecycle, React hooks integration, and complete API reference.

ソース情報

リポジトリ
syncfusion/react-ui-components-skills
ソースの最終更新活動
2026年8月11日 05:19
検出された SKILL.md の言語
英語
スター
3
フォーク
9

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

ファイルエクスプローラー
8 ファイル

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
syncfusion-react-accordion
description
Guide users to implement Syncfusion React Accordion component for collapsible content panels. Use this skill whenever the user needs to create expandable/collapsible sections, accordion layouts, tabbed content panels, multi-step forms, FAQs, or navigation with expandable items. Covers component setup, expand modes, animations, dynamic content loading, styling, events, lifecycle, React hooks integration, and complete API reference.
metadata
{"author":"Syncfusion Inc","version":"34.1.29","category":"Navigation Components"}
# Implementing Syncfusion React Accordion The React Accordion component provides a clean, organized way to display content in collapsible panels. It's perfect for creating expandable content sections, FAQs, multi-step forms, and navigation menus with minimal code. ## Component Overview The Accordion component renders a stack of collapsible panels where: - Each panel has a header (clickable to toggle) and content area - Headers can be simple text or custom templates - Content can be static, dynamic, or rendered from other React components - Supports single expand mode (one panel at a time) or multiple (many panels at once) - Built-in animations for smooth expand/collapse transitions - Full keyboard navigation and accessibility support ## Documentation and Navigation Guide ### Getting Started 📄 **Read:** [references/getting-started.md](references/getting-started.md) **When to read:** First time setting up the Accordion component - Package installation (@syncfusion/ej2-react-navigations) - CSS imports and theme configuration (Tailwind, Bootstrap) - Two initialization methods (Items API vs HTML markup) - Item configuration (header, content, cssClass, disabled, expanded) - Basic component setup with examples - First render and minimal working example ### Expand Modes 📄 **Read:** [references/expand-modes.md](references/expand-modes.md) **When to read:** Controlling which panels expand at the same time - Single expand mode (only one panel open at a time) - Multiple expand mode (default, many panels can be open) - Setting initial expanded state with `expandedIndices` property - Toggle behavior on header click - Use cases for choosing each mode - Keeping single pane open always pattern ### Animation Effects 📄 **Read:** [references/animation-effects.md](references/animation-effects.md) **When to read:** Customizing panel transitions and visual effects - Default animations (SlideDown for expand, SlideUp for collapse) - Choosing from available animation effects (FadeIn, ZoomIn, etc.) - Configuring easing and duration properties - Separate expand/collapse animation control - Disabling animations entirely - Performance considerations ### Content Loading 📄 **Read:** [references/content-loading.md](references/content-loading.md) **When to read:** Loading content dynamically or from external sources - Loading accordion items dynamically with `addItem()` method - Loading content from data sources (dataSource property) - Fetching content via HTTP requests and POST - Template-based rendering (headerTemplate, itemTemplate) - Rendering other React components inside panels - Lazy loading and deferred content patterns ### Events & Lifecycle 📄 **Read:** [references/events-lifecycle.md](references/events-lifecycle.md) **When to read:** Handling user interactions and component lifecycle - Component lifecycle events (created, destroyed) - Expand/collapse events (expanding, expanded) - Click event handling (clicked) - Event arguments and properties - Preventing default actions with event.cancel - Real-world event patterns and examples ### Styling & Customization 📄 **Read:** [references/styling-customization.md](references/styling-customization.md) **When to read:** Customizing appearance and integrating with design systems - CSS classes for styling (header, panel, content areas) - Built-in theme options and theme switching - Custom styling with CSS and utilities (Tailwind, Bootstrap) - RTL (right-to-left) support - Responsive design patterns - Using cssClass property for custom styling ### Advanced Features 📄 **Read:** [references/advanced-features.md](references/advanced-features.md) **When to read:** Building complex layouts and optimizing performance - Component methods (expandItem, enableItem, hideItem, etc.) - Nested accordions and hierarchical structures - React hooks integration (useState, useRef, useEffect) - Keyboard navigation behavior - Accessibility features (ARIA attributes, screen readers) - Performance optimization for large accordion lists - Custom expand/collapse action patterns --- ## Quick Start Example Basic accordion with three collapsible panels: ```jsx import React from 'react'; import { AccordionComponent, AccordionItemDirective, AccordionItemsDirective } from '@syncfusion/ej2-react-navigations'; import '@syncfusion/ej2-base/styles/tailwind3.css'; import '@syncfusion/ej2-buttons/styles/tailwind3.css'; import '@syncfusion/ej2-popups/styles/tailwind3.css'; import '@syncfusion/ej2-react-navigations/styles/tailwind3.css'; export default function App() { return ( <AccordionComponent expandMode='Multiple'> <AccordionItemsDirective> <AccordionItemDirective header='HTML' content='HTML is a markup language used to create web pages.' /> <AccordionItemDirective header='CSS' content='CSS is used to style HTML elements and create layouts.' /> <AccordionItemDirective header='JavaScript' content='JavaScript adds interactivity to web applications.' /> </AccordionItemsDirective> </AccordionComponent> ); } ``` ## Common Patterns ### Pattern 1: FAQ Section (Single Expand Mode) Questions automatically collapse when a new one is opened: ```jsx <AccordionComponent expandMode='Single'> <AccordionItemsDirective> <AccordionItemDirective header='What is React?' content='React is a JavaScript library for building UIs with components.' /> <AccordionItemDirective header='What is JSX?' content='JSX is a syntax extension for writing HTML-like code in JavaScript.' /> </AccordionItemsDirective> </AccordionComponent> ``` ### Pattern 2: Persistent Expansion (Multiple Mode) All panels can remain expanded simultaneously: ```jsx <AccordionComponent expandMode='Multiple'> <AccordionItemsDirective> <AccordionItemDirective expanded={true} header='Features' content='...' /> <AccordionItemDirective expanded={true} header='Installation' content='...' /> </AccordionItemsDirective> </AccordionComponent> ``` ### Pattern 3: Default Expanded State Pre-expand specific panels on load: ```jsx <AccordionItemDirective expanded={true} header='Quick Start' content='This section opens by default.' /> ``` --- ## Key Props & Methods ### Component Properties | Property | Type | Purpose | Default | |----------|------|---------|---------| | `expandMode` | 'Single' \| 'Multiple' | Control single/multiple panel expansion | 'Multiple' | | `expandedIndices` | number[] | Array of indices for initially expanded items | [] | | `animation` | AnimationSettings | Expand/collapse animation config | SlideDown/SlideUp | | `dataSource` | Object[] | Array of items for data binding | [] | | `headerTemplate` | string \| function | Custom header template for all items | null | | `itemTemplate` | string \| function | Custom item template for rendering | null | | `height` | string \| number | Component height in px/% | 'auto' | | `width` | string \| number | Component width in px/% | '100%' | | `enableHtmlSanitizer` | boolean | Sanitize untrusted HTML content | true | | `enablePersistence` | boolean | Persist expanded state between reloads | false | | `enableRtl` | boolean | Enable right-to-left layout | false | | `locale` | string | Locale code for internationalization | '' | ### Item Properties | Property | Type | Purpose | Default | |----------|------|---------|---------| | `header` | string | Item header text (accepts HTML) | - | | `content` | string | Item content text (accepts HTML) | - | | `expanded` | boolean | Set initial expanded state for item | false | | `disabled` | boolean | Disable specific accordion item | false | | `cssClass` | string | Custom CSS classes for item | - | ### Component Methods | Method | Parameters | Purpose | |--------|-----------|---------| | `addItem()` | item, index (optional) | Add new accordion item(s) | | `removeItem()` | index | Remove item at specified index | | `enableItem()` | index, isEnable | Enable/disable specific item | | `hideItem()` | index, isHidden | Show/hide specific item | | `expandItem()` | isExpand, index (optional) | Expand/collapse items | | `select()` | index | Set focus to item header | | `destroy()` | none | Remove component from DOM | --- ## Common Use Cases | Use Case | Mode | Key Feature | |----------|------|------------| | FAQ Section | Single | Only one question visible at a time | | Settings Panel | Multiple | Check multiple options simultaneously | | Multi-Step Form | Single | Guide user through steps sequentially | | Content Organizer | Multiple | Browse multiple topics at once | | Navigation Menu | Single | Tree-like hierarchical navigation | | Data Dashboard | Multiple | View multiple data sections together | --- ## Next Steps 1. **Start with Getting Started** to set up your first Accordion 2. **Choose Expand Mode** based on your use case 3. **Add Animations** for polish and user feedback 4. **Load Content Dynamically** if using data sources 5. **Customize Styling** to match your design system 6. **Explore Advanced Features** for complex scenarios Need help? Check the specific reference files above based on what you're trying to build!
GitHubで見る