Loading...
Loading...
Implement Syncfusion React DropDownList component for single-value selection from predefined lists. Use this when working with dropdowns, select boxes, or single-select lists. This skill covers installation, data binding (local arrays, JSON objects, remote/OData), filtering, grouping, templates, value binding, virtual scrolling, cascading dropdowns, accessibility, styling, and localization.
npx skill4agent add syncfusion/react-ui-components-skills syncfusion-react-dropdownlist@syncfusion/ej2-react-dropdownsfieldstextvaluegroupByiconCssDataManagerfields.disabledallowFilteringfilteringupdateDatastartswithcontainsminLengthgroupBysortOrderenableVirtualizationallowResizeL10nnoRecordsTemplateactionFailureTemplate// 1. Install
// npm install @syncfusion/ej2-react-dropdowns --save
// 2. CSS in src/App.css
// @import "../node_modules/@syncfusion/ej2-base/styles/tailwind3.css";
// @import "../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css";
// @import "../node_modules/@syncfusion/ej2-react-dropdowns/styles/tailwind3.css";
import { DropDownListComponent } from '@syncfusion/ej2-react-dropdowns';
import './App.css';
export default function App() {
const sportsData: string[] = ['Badminton', 'Cricket', 'Football', 'Golf', 'Tennis'];
return (
<DropDownListComponent
id="ddlelement"
dataSource={sportsData}
placeholder="Select a game"
/>
);
}import { DropDownListComponent } from '@syncfusion/ej2-react-dropdowns';
export default function App() {
const countryData = [
{ Id: 'au', Country: 'Australia' },
{ Id: 'br', Country: 'Brazil' },
{ Id: 'cn', Country: 'China' },
{ Id: 'in', Country: 'India' },
];
const fields = { text: 'Country', value: 'Id' };
return (
<DropDownListComponent
dataSource={countryData}
fields={fields}
placeholder="Select a country"
/>
);
}import { DropDownListComponent, FilteringEventArgs } from '@syncfusion/ej2-react-dropdowns';
import { Query } from '@syncfusion/ej2-data';
export default function App() {
const searchData = [
{ Index: 's1', Country: 'Alaska' },
{ Index: 's2', Country: 'California' },
{ Index: 's3', Country: 'Florida' },
];
const fields = { text: 'Country', value: 'Index' };
function onFiltering(args: FilteringEventArgs) {
let query = new Query();
query = args.text !== '' ? query.where('Country', 'startswith', args.text, true) : query;
args.updateData(searchData, query);
}
return (
<DropDownListComponent
dataSource={searchData}
fields={fields}
allowFiltering={true}
filtering={onFiltering}
placeholder="Select a country"
/>
);
}<DropDownListComponent
dataSource={sportsData}
value="Cricket"
placeholder="Select a game"
/>const vegetableData = [
{ Vegetable: 'Cabbage', Category: 'Leafy and Salad', Id: 'item1' },
{ Vegetable: 'Chickpea', Category: 'Beans', Id: 'item6' },
{ Vegetable: 'Garlic', Category: 'Bulb and Stem', Id: 'item9' },
];
const fields = { groupBy: 'Category', text: 'Vegetable', value: 'Id' };
<DropDownListComponent dataSource={vegetableData} fields={fields} placeholder="Select a vegetable" />| Prop | Type | Purpose |
|---|---|---|
| | Data for the list items |
| | Maps |
| | Selected/preselected value |
| | Input placeholder text |
| | Enables search filtering |
| | Handler for custom filter logic |
| | Popup list height (default auto) |
| | Popup list width (default matches input) |
| | |
| | Virtual scroll for large data |
| | User-resizable popup |
| | Enable/disable entire component |
| | Read-only mode |
| | Shows ✕ button to clear selection |
| | Right-to-left layout |
string[]dataSourceDataManagerWebApiAdaptorreferences/data-binding.mdallowFiltering={true}filteringreferences/filtering.mdgroupByreferences/grouping-and-templates.mditemTemplatereferences/grouping-and-templates.mdenableVirtualizationVirtualScrollreferences/features-and-configuration.mddataSourcechangereferences/how-to.md