syncfusion-react-dropdowns
Comprehensive guide for implementing Syncfusion React dropdown components including AutoComplete, ComboBox, DropDownList, ListBox, Mention, MultiSelect, and MultiColumn ComboBox. Use this when building selection interfaces, data binding, filtering, cascading dropdowns, custom templates, and accessib
By syncfusion · 566 installs
npx skills add syncfusion/react-ui-components-skills --skill syncfusion-react-dropdowns
Source repository · Upstream listing
Implementing Syncfusion React Dropdowns
AutoComplete
The AutoComplete component provides a matched suggestion list as the user types into an input field, allowing selection from the filtered results. It supports local and remote data, rich filtering options, templates, grouping, virtualization, and full accessibility.
Documentation and Navigation Guide
Getting Started
📄 Read: [references/getting started.md](references/autocomplete getting started.md)
Package installation ( @syncfusion/ej2 react dropdowns )
CSS imports and theme configuration
Basic component setup (functional and class components)
Binding a simple string array
Configuring popup height and width ( popupHeight , popupWidth )
Data Binding
📄 Read: [references/data binding.md](references/autocomplete data binding.md)
Array of strings or numbers
Array of objects with fields mapping ( value , groupBy , iconCss )
Array of complex/nested objects (dot notation field mapping)
Remote data with DataManager (ODataV4Adaptor, WebApiAdaptor)
Using query property to filter/select remote data
sortOrder for alphabetical ordering
Filtering
📄 Read: [references/filtering.md](references/autocomplete filtering.md)
Filter types: StartsWith , EndsWith , Contains
suggestionCount – limit number of suggestions
minLength – minimum characters before search triggers
ignoreCase – case sensitive filtering
ignoreAccent – diacritics filtering
debounceDelay – delay filtering to reduce requests
Custom filtering with the filtering event
Grouping
📄 Read: [references/grouping.md](references/autocomplete grouping.md)
Grouping items using fields.groupBy
Fixed and inline group headers
Custom group header with groupTemplate
Templates
📄 Read: [references/templates.md](references/autocomplete templates.md)
itemTemplate – customize each list item
groupTemplate – customize group header
headerTemplate – static popup header
footerTemplate – static popup footer
noRecordsTemplate – message when no data found
actionFailureTemplate – message on remote fetch failure
Value Binding
📄 Read: [references/value binding.md](references/autocomplete value binding.md)
Binding primitive values (string, number)
Object binding with allowObjectBinding
Presetting selected values with the value property
Virtualization
📄 Read: [references/virtual scroll.md](references/autocomplete virtual scroll.md)
enableVirtualization for large datasets
Injecting the VirtualScroll service
Virtual scrolling with local data, remote data, and grouping
Customizing item count with query.take()
Disabled Items
📄 Read: [references/disabled items.md](references/autocomplete disabled items.md)
Disabling items via fields.disabled
disableItem method for dynamic disabling
Disabling the entire component with enabled={false}
Accessibility and Localization
📄 Read: [references/accessibility localization.md](references/autocomplete accessibility localization.md)
WAI ARIA roles and attributes
Keyboard navigation shortcuts
RTL support ( enableRtl )
Localization with L10n (noRecordsTemplate, actionFailureTemplate text)
WCAG 2.2 compliance overview
Styling and Customization
📄 Read: [references/styling.md](references/autocomplete styling.md)
CSS class targets for wrapper, icon, focus, placeholder, selection
Float label customization
Popup item appearance
cssClass property for custom class injection
Popup resize ( allowResize )
Mandatory asterisk styling
How To: Autofill, Highlight, and Icons
📄 Read: [references/how to.md](references/autocomplete how to.md)
autofill – suggest first matched item on Arrow Down
highlight – highlight typed characters in suggestion list
Icon support with fields.iconCss
API Reference
📄 Read: [references/api.md](references/autocomplete api.md)
All properties with types, defaults, and descriptions
All methods with parameters and return types
All events with descriptions
Quick Start Example
Installation: Pin packages to a specific major version to reduce supply chain risk.
Common Patterns
Object data source with field mapping
Remote data binding (security first)
Security: Do not call arbitrary third party URLs directly from client code. Route external API calls through a trusted server side proxy that enforces allowed endpoints, authentication, rate limits, and response validation.
Filtering with custom options
Accessing methods via ref
ComboBox
The ComboBox component provides a dropdown input that allows users to type to filter or select from a predefined list. It supports local and remote data binding, custom values, filtering, grouping, templates, virtual scrolling, and full accessibility.
Component Overview
The ComboBox is a specialized dropdown input that bridges typed input fields with selection lists. Key characteristics:
Hybrid input: User can type to filter OR select from dropdown
Smart filtering: Default filter searches by text, customizable for complex scenarios
Flexible data: Supports strings, JSON objects, OData, Web APIs, DataManager
Rich UI: Templates for items, headers, footers, selected values, no results states
Performance: Virtual scrolling efficiently handles thousands of items
Global ready: Built in localization, RTL support, ARIA attributes
Accessible: Full keyboard navigation, screen reader support
Installation: Pin packages to a specific major version to reduce supply chain risk.
Documentation Navigation Guide
Choose your starting point based on your task:
Getting Started
📄 Read: [references/getting started.md](references/combobox getting started.md)
When to read:
Setting up ComboBox in a new project
First time component implementation
Understanding basic usage (class vs functional components)
Adding CSS imports and themes
Enabling custom values
Data Binding & Sources
📄 Read: [references/data binding.md](references/combobox data binding.md)
When to read:
Binding local data (string arrays, JSON objects)
Connecting to remote APIs (OData, Web API, DataManager)
Mapping object fields (text, value, groupBy, iconCss)
Handling complex data transformations
Understanding data source configuration
Filtering & Search Behavior
📄 Read: [references/filtering and search.md](references/combobox filtering and search.md)
When to read:
Implementing text filtering
Creating custom filter functions
Configuring search behavior (case sensitivity, partial matching)
Performance optimization for large datasets
Handling no results scenarios
Grouping & Sorting
📄 Read: [references/grouping and sorting.md](references/combobox grouping and sorting.md)
When to read:
Organizing items into logical groups
Customizing group header appearance
Applying sort orders (ascending/descending)
Combining grouping with filtering
Multi level grouping scenarios
Templates & Customization
📄 Read: [references/templates and customization.md](references/combobox templates and customization.md)
When to read:
Creating custom item templates
Displaying rich content (images, icons, descriptions)
Header/footer templates (e.g., action buttons, summaries)
Selected value template formatting
CSS class based styling and theme customization
Advanced Features
📄 Read: [references/advanced features.md](references/combobox advanced features.md)
When to read:
Virtual scrolling for large datasets (10,000+ items)
Internationalization (i18n) and language switching
RTL (right to left) support for Arabic/Hebrew
Accessibility compliance (WCAG 2.1, ARIA attributes)
Disabled states and multi select workflows
Keyboard shortcuts and focus management
Styling & Theming
📄 Read: [references/styling and theming.md](references/combobox styling and theming.md)
When to read:
Applying built in Syncfusion themes (Material, Bootstrap, Tailwind)
CSS variable customization for brand colors
Theme Studio integration for design customization
Responsive design patterns
Dark mode / light mode support
Popup Resizing
📄 Read: [references/popup resizing.md](references/combobox popup resizing.md)
When to read:
Allowing users to dynamically resize the dropdown
Saving resize preferences across sessions
Handling long content with custom templates
Mobile friendly dropdown sizing
How To Guide
📄 Read: [references/how to guide.md](references/combobox how to guide.md)
When to read:
Implementing autofill (auto complete while typing)
Creating cascading/dependent dropdowns (Country → State → City)
Displaying icons in list items
Common practical implementation scenarios
Troubleshooting
📄 Read: [references/troubleshooting.md](references/combobox troubleshooting.md)
When to read:
Performance issues (slow rendering, lag)
Data binding problems
Migration from EJ1 ComboBox
Common edge cases and workarounds
Debugging tips and community resources
API Reference
📄 Read: [references/api.md](references/combobox api.md)
When to read:
Looking up a specific property, method, or event name and its type
Understanding default values for any configuration option
Checking event argument shapes ( ChangeEventArgs , FilteringEventArgs , etc.)
Reviewing all available methods for programmatic control
Exploring interface models ( FieldSettingsModel , PopupEventArgs , etc.)
Quick Start Example
Installation & Setup
Installation: Pin packages to a specific major version to reduce supply chain risk.
Basic ComboBox (Functional Component)
With Data Binding (JSON Objects)
Common Patterns
Pattern 1: Filtered Search for User Selection
Problem: User needs to find items in a list of 500+ entries.
Solution: Use filtering with controlled input to display only matching items. For very large datasets (5,000+ items), combine with enableVirtualization and inject VirtualScroll .
Pattern 2: Grouped Categories
Problem: Items need to be organized by type for clarity.
Solution: Use groupBy field mapping with data grouped by category.
Pattern 3: Remote Data with Loading (security first)
Problem: Fetch data from an API based on user search.
Security first solution: Route external API requests through a trusted server side proxy that validates and sanitizes responses. Do not embed third‑party URLs directly in client side code.
Pattern 4: Custom Template for Rich Content
Problem: Display icons or additional info with each item.
Solution: Use itemTemplate prop for custom HTML rendering.
Key Props Reference
Prop Type Description Common Use
dataSource Array\ DataManager Data items to display All use cases
fields FieldSettingsModel Map data fields (text, value, groupBy, iconCss, disabled) Complex data
placeholder string Hint text when empty UX guidance
allowCustom boolean Allow user to enter custom values not in the list. Default: true Open ended input
allowFiltering boolean Enable filter bar (search box) in the popup. Default: false Search capability
enableVirtualization boolean Enable virtual scrolling for large datasets. Requires <Inject services={[VirtualScroll]} / . Default: false Large datasets (5,000+ items)
sortOrder SortOrder 'None' \ 'Ascending' \ 'Descending' . Default: null Sorted lists
popupHeight string\ number Dropdown height (e.g., '300px' ). Default: '300px' Layout control
popupWidth string\ number Dropdown width (e.g., '100%' ). Default: '100%' Layout control
enabled boolean Enable/disable component. Default: true Conditional rendering
readonly boolean Prevent user input. Default: false View only mode
showClearButton bo