DevExtreme Vue - Overview
The SelectBox widget is an editor that allows an end user to select an item from a drop-down list.
The following code adds the SelectBox to your page. The simplest configuration of the widget requires only a dataSource to be specified. In addition, you can specify the placeholder to be displayed when the SelectBox is empty.
jQuery
HTML
JavaScript
<div id="selectBoxContainer"></div>
$(function() { $("#selectBoxContainer").dxSelectBox({ dataSource: [ "HD Video Player", "SuperHD Video Player", "SuperPlasma 50", // ... ], placeholder: "Select a product..." }); });
Angular
HTML
TypeScript
<dx-select-box [dataSource]="products" placeholder="Select a product..."> </dx-select-box>
import { DxSelectBoxModule } from "devextreme-angular"; // ... export class AppComponent { products = [ "HD Video Player", "SuperHD Video Player", "SuperPlasma 50", // ... ]; } @NgModule({ imports: [ // ... DxSelectBoxModule ], // ... })
Vue
App.vue
<template> <DxSelectBox ... :data-source="products" placeholder="Select a product..." /> </template> <script> import 'devextreme/dist/css/dx.common.css'; import 'devextreme/dist/css/dx.light.css'; import { DxSelectBox } from 'devextreme-vue/select-box'; export default { components: { DxSelectBox }, data() { const products = [ "HD Video Player", "SuperHD Video Player", "SuperPlasma 50", // ... ]; return { products } } } </script>
React
App.js
import React from 'react'; import 'devextreme/dist/css/dx.common.css'; import 'devextreme/dist/css/dx.light.css'; import SelectBox from 'devextreme-react/select-box'; const products = [ "HD Video Player", "SuperHD Video Player", "SuperPlasma 50", // ... ]; class App extends React.Component { render() { return ( <SelectBox ... dataSource={products} 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 option. - displayExpr
The data field whose value will be displayed in the drop-down list and in the input field of the widget.
jQuery
JavaScript
var selectBoxData = [ { id: 1, country: "Afghanistan" }, { id: 2, country: "Albania" }, // ... ]; $(function() { $("#selectBoxContainer").dxSelectBox({ dataSource: selectBoxData, valueExpr: 'id', displayExpr: 'country' }); });
Angular
HTML
TypeScript
<dx-select-box [dataSource]="selectBoxData" valueExpr="id" displayExpr="country"> </dx-select-box>
import { DxSelectBoxModule } from "devextreme-angular"; // ... export class AppComponent { selectBoxData = [ { id: 1, country: "Afghanistan" }, { id: 2, country: "Albania" }, // ... ]; } @NgModule({ imports: [ // ... DxSelectBoxModule ], // ... })
Vue
App.vue
<template> <DxSelectBox ... :data-source="selectBoxData" display-expr="country" value-expr="id" /> </template> <script> import 'devextreme/dist/css/dx.common.css'; import 'devextreme/dist/css/dx.light.css'; import { DxSelectBox } from 'devextreme-vue/select-box'; export default { components: { DxSelectBox }, data() { const selectBoxData = [ { id: 1, country: "Afghanistan" }, { id: 2, country: "Albania" }, // ... ]; return { selectBoxData } } } </script>
React
App.js
import React from 'react'; import 'devextreme/dist/css/dx.common.css'; import 'devextreme/dist/css/dx.light.css'; import SelectBox from 'devextreme-react/select-box'; const selectBoxData = [ { id: 1, country: "Afghanistan" }, { id: 2, country: "Albania" }, // ... ]; class App extends React.Component { render() { return ( <SelectBox ... dataSource={selectBoxData} displayExpr="country" valueExpr="id" /> ); } } export default App;
See Also
- Configure a Widget: Angular | Vue | React | jQuery | AngularJS | Knockout | ASP.NET MVC 5 | ASP.NET Core
- SelectBox - Customize Item Appearance
- SelectBox - Configure Search Parameters
- SelectBox - Create a User-Defined Item
- SelectBox - Handle the Value Change Event
- SelectBox - Keyboard Support
- SelectBox 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.