React Lookup - Overview
The Lookup is a UI component that allows an end user to search for an item in a collection shown in a drop-down menu.
The following code adds the Lookup UI component to your page. The simplest configuration requires only a dataSource to be specified. In addition, you can define the placeholder to be displayed when the Lookup input field is empty.
jQuery
HTML
JavaScript
<div id="lookupContainer"></div>
$(function() { $("#lookupContainer").dxLookup({ dataSource: [ "HD Video Player", "SuperHD Video Player", "SuperPlasma 50", // ... ], placeholder: "Select a product..." }); });
Angular
HTML
TypeScript
<dx-lookup [dataSource]="lookupDataSource" placeholder="Select a product..."> </dx-lookup>
import { DxLookupModule } from "devextreme-angular"; // ... export class AppComponent { lookupDataSource = [ "HD Video Player", "SuperHD Video Player", "SuperPlasma 50" ]; } @NgModule({ imports: [ // ... DxLookupModule ], // ... })
Vue
<template> <DxLookup :data-source="dataSource" placeholder="Select a product..." /> </template> <script> import 'devextreme/dist/css/dx.common.css'; import 'devextreme/dist/css/dx.light.css'; import { DxLookup } from 'devextreme-vue/lookup'; export default { components: { DxLookup }, data() { return { dataSource: [ 'HD Video Player', 'SuperHD Video Player', 'SuperPlasma 50', // ... ] }; } } </script>
React
import React from 'react'; import 'devextreme/dist/css/dx.common.css'; import 'devextreme/dist/css/dx.light.css'; import { Lookup } from 'devextreme-react/lookup'; const dataSource = [ 'HD Video Player', 'SuperHD Video Player', 'SuperPlasma 50', // ... ]; class App extends React.Component { render() { return ( <Lookup dataSource={dataSource} placeholder="Select a product..." /> ); } } export default App;
If your data is an array of objects, specify:
- valueExpr
The data field whose value will be written into the value property. - displayExpr
The data field whose value will be displayed within the inner List UI component and in the input field of the Lookup.
jQuery
JavaScript
const lookupData = [ { id: 1, country: "Afghanistan" }, { id: 2, country: "Albania" }, // ... ]; $(function() { $("#lookupContainer").dxLookup({ dataSource: lookupData, valueExpr: 'id', displayExpr: 'country' }); });
Angular
HTML
TypeScript
<dx-lookup [dataSource]="lookupDataSource" valueExpr="id" displayExpr="country"> </dx-lookup>
import { DxLookupModule } from "devextreme-angular"; // ... export class AppComponent { lookupDataSource = [ { id: 1, country: "Afghanistan" }, { id: 2, country: "Albania" }, // ... ]; } @NgModule({ imports: [ // ... DxLookupModule ], // ... })
Vue
<template> <DxLookup :data-source="lookupData" value-expr="id" display-expr="country" /> </template> <script> import 'devextreme/dist/css/dx.common.css'; import 'devextreme/dist/css/dx.light.css'; import { DxLookup } from 'devextreme-vue/lookup'; export default { components: { DxLookup }, data() { return { lookupData: [ { id: 1, country: 'Afghanistan' }, { id: 2, country: 'Albania' }, // ... ] }; } } </script>
React
import React from 'react'; import 'devextreme/dist/css/dx.common.css'; import 'devextreme/dist/css/dx.light.css'; import { Lookup } from 'devextreme-react/lookup'; const lookupData = [ { id: 1, country: 'Afghanistan' }, { id: 2, country: 'Albania' }, // ... ]; class App extends React.Component { render() { return ( <Lookup dataSource={lookupData} valueExpr="id" displayExpr="country" /> ); } } export default App;
See Also
- Configure a Widget: Angular | Vue | React | jQuery | AngularJS | Knockout | ASP.NET MVC 5 | ASP.NET Core
- Lookup - Configure Search Parameters
- Lookup - Enable Grouping
- Lookup - Enable Paging
- Lookup - Customize the Appearance
- Lookup - Handle the Value Change Event
- Lookup API Reference
- Lookup vs SelectBox
Feel free to share topic-related thoughts here.
If you have technical questions, please create a support ticket in the DevExpress Support Center.
Thank you for the feedback!
If you have technical questions, please create a support ticket in the DevExpress Support Center.