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