React SelectBox Props
An object defining configuration options for the SelectBox widget.
acceptCustomValue
Specifies whether the widget allows a user to enter a custom value. Requires the onCustomItemCreating handler implementation.
accessKey
Specifies the shortcut key that sets focus on the widget.
The value of this option will be passed to the accesskey
attribute of the HTML element that underlies the widget.
activeStateEnabled
Specifies whether or not the widget changes its state when interacting with a user.
This option is used when the widget is displayed on a platform whose guidelines include the active state change for widgets.
dataSource
A data source used to fetch data the widget should display.
This option accepts one of the following:
Array
A JavaScript array that contains string, numeric, Boolean values, or plain objects.URL
A URL to JSON data or to a service returning data in JSON format.DataSource or its configuration object
The DataSource is an object that provides an API for data processing. The DataSource's underlying data access logic is isolated in a store. Refer to the Data Layer and DataSource Examples guides for more information about the DataSource.
If the data source contains objects, specify the key in the store and/or a data field providing values in the widget.
.
, ,
, :
, [
, and ]
. Their presence may cause issues in the widget's operation.If the data source is specified using the dataSource option, use the items option only for reading. Updating data items using the items option may cause unexpected results.
See Also
- key in ArrayStore | CustomStore | LocalStore | ODataStore
deferRendering
Specifies whether to render the drop-down field's content when it is displayed. If false, the content is rendered immediately.
displayExpr
Specifies the name of the data source item field whose value is displayed by the widget.
If the data source item is a simple object holding a value (string, numeric, Boolean, etc.), assign 'this' to the displayExpr option. If the item is a plain object item, assign the required field name or path to the option.
displayValue
Returns the value currently displayed by the widget.
The value you pass to this option does not affect widget behavior. Pass an observable variable to this option to get the value currently displayed by the widget.
dropDownButtonTemplate
Specifies a custom template for the drop-down button.
elementAttr
Specifies the attributes to be attached to the widget's root element.
You can configure this option in an ASP.NET MVC Control as follows:
@(Html.DevExtreme().WidgetName() .ElementAttr("class", "class-name") // ===== or ===== .ElementAttr(new { @id = "elementId", @class = "class-name" }) // ===== or ===== .ElementAttr(new Dictionary<string, object>() { { "id", "elementId" }, { "class", "class-name" } }) )
@(Html.DevExtreme().WidgetName() _ .ElementAttr("class", "class-name") ' ===== or ===== .ElementAttr(New With { .id = "elementId", .class = "class-name" }) ' ===== or ===== .ElementAttr(New Dictionary(Of String, Object) From { { "id", "elementId" }, { "class", "class-name" } }) )
focusStateEnabled
Specifies whether the widget can be focused using keyboard navigation.
grouped
Specifies whether data items should be grouped.
When this option is true, make sure that all data source objects have the following structure:
var dataSource = [{ key: "Group 1", // Group caption items: [ // Items in the group { ... }, { ... } ] }, { // ... }];
You can supply data to this structure using the DataSource object's group option.
See Also
height
Specifies the widget's height.
This option accepts a value of one of the following types:
Number
The height in pixels.String
A CSS-accepted measurement of height. For example,"55px"
,"80%"
,"auto"
,"inherit"
.Function
A function returning either of the above. For example:JavaScriptheight: function() { return window.innerHeight / 1.5; }
hint
Specifies text for a hint that appears when a user pauses on the widget.
hoverStateEnabled
Specifies whether the widget changes its state when a user pauses on it.
inputAttr
Specifies the attributes to be passed on to the underlying HTML element.
You can configure this option in an ASP.NET MVC Control as follows:
@(Html.DevExtreme().WidgetName() .InputAttr("id", "inputId") // ===== or ===== .InputAttr(new { @id = "inputId" }) // ===== or ===== .InputAttr(new Dictionary<string, object>() { { "id", "inputId" } }) )
@(Html.DevExtreme().WidgetName() _ .InputAttr("id", "inputId") ' ===== or ===== .InputAttr(New With { .id = "inputId" }) ' ===== or ===== .InputAttr(New Dictionary(Of String, Object) From { { "id", "inputId" } }) )
isValid
Specifies whether the editor's value is valid.
In Knockout apps, you may need to inform a user about an error that occurred during the validation of a view model field. For this purpose, set the editor's isValid option to the isValid value of the dxValidator that validates this field. To show an error message, set the editor's validationError option to the dxValidator's validationError value.
var editorValue = ko.observable("").extend({ dxValidator: { validationRules: [{ type: 'required', message: 'Specify this value' }] } }); var viewModel = { editorOptions: { value: editorValue, isValid: editorValue.dxValidator.isValid, validationError: editorValue.dxValidator.validationError } };
The editor's isValid and validationError options should also be specified when using a custom validation engine. In this instance, the validation result will be displayed for the editor by the means of the DevExtreme Validation UI.
See Also
items
An array of items displayed by the widget.
Array<any>
You can use the dataSource option instead. Unlike the items option, the dataSource option can take on the DataSource configuration object as well as a simple array.
maxLength
Specifies the maximum number of characters you can enter into the textbox.
If the number of entered characters reaches the value assigned to this option, the widget does not allow you to enter any more characters.
minSearchLength
The minimum number of characters that must be entered into the text box to begin a search. Applies only if searchEnabled is true.
name
The value to be assigned to the name
attribute of the underlying HTML element.
Specify this option if the widget lies within an HTML form that will be submitted.
If you configure the widget as an ASP.NET MVC Control, use this option to bind the widget to a model property. If this model property contains Data Annotation validation attributes, you get the client-side validation enabled by default.
noDataText
The text or HTML markup displayed by the widget if the item collection is empty.
onChange
A handler for the change event.
Information about the event.
Name | Type | Description |
---|---|---|
component |
The widget's instance. |
|
element |
The widget's container. It is an HTML Element or a jQuery Element when you use jQuery. |
|
model |
The model data. Available only if Knockout is used. |
|
jQueryEvent |
Use 'event' instead. The jQuery event that caused the handler execution. Deprecated in favor of the event field. |
|
event | Event (jQuery or EventObject) |
The event that caused the handler execution. It is a dxEvent or a jQuery.Event when you use jQuery. |
Assign a function to perform a custom action when a change within the widget's input element is committed by an end user.
onClosed
A handler for the closed event.
Information about the event.
Name | Type | Description |
---|---|---|
component |
The widget's instance. |
|
element |
The widget's container. It is an HTML Element or a jQuery Element when you use jQuery. |
|
model |
The model data. Available only if Knockout is used. |
Assign a function to perform a custom action after a drop-down editor has been hidden.
onContentReady
A handler for the contentReady event. Executed when the widget's content is ready. This handler may be executed multiple times during the widget's lifetime depending on the number of times its content changes.
Information about the event.
Name | Type | Description |
---|---|---|
component |
The widget's instance. |
|
element |
The widget's container. It is an HTML Element or a jQuery Element when you use jQuery. |
|
model |
The model data. Available only when using Knockout. |
If data displayed by the widget is specified using a DataSource instance, the contentReady event fires each time the load() method of the DataSource instance is called as well as when widget content is ready. In this case, when you create the widget, the contentReady event is raised twice: when the widget's content is ready (at this moment, the widget does not display items) and when the DataSource is loaded (the widget displays the loaded items).
onCopy
A handler for the copy event.
Information about the event.
Name | Type | Description |
---|---|---|
component |
The widget's instance. |
|
element |
The widget's container. It is an HTML Element or a jQuery Element when you use jQuery. |
|
model |
The model data. Available only if Knockout is used. |
|
jQueryEvent |
Use 'event' instead. The jQuery event that caused the handler execution. Deprecated in favor of the event field. |
|
event | Event (jQuery or EventObject) |
The event that caused the handler execution. It is a dxEvent or a jQuery.Event when you use jQuery. |
Assign a function to perform a custom action after the widget's input is copied.
onCustomItemCreating
A handler for the customItemCreating event. Executed when a user adds a custom item. Requires acceptCustomValue to be set to true.
Information about the event.
Name | Type | Description |
---|---|---|
component |
The widget's instance. |
|
element |
The widget's container. It is an HTML Element or a jQuery Element when you use jQuery. |
|
model |
The model data. Available only if you use Knockout. |
|
text |
The input field's text. |
|
customItem | | | |
The field where to place a custom item. |
A custom item or a Promise that is resolved after the item is created. It is a native Promise or a jQuery.Promise when you use jQuery.
onCut
A handler for the cut event.
Information about the event.
Name | Type | Description |
---|---|---|
component |
The widget's instance. |
|
element |
The widget's container. It is an HTML Element or a jQuery Element when you use jQuery. |
|
model |
The model data. Available only if Knockout is used. |
|
jQueryEvent |
Use 'event' instead. The jQuery event that caused the handler execution. Deprecated in favor of the event field. |
|
event | Event (jQuery or EventObject) |
The event that caused the handler execution. It is a dxEvent or a jQuery.Event when you use jQuery. |
Assign a function to perform a custom action after the widget's input is cut.
onDisposing
A handler for the disposing event. Executed when the widget is removed from the DOM using the remove(), empty(), or html() jQuery methods only.
Information about the event.
Name | Type | Description |
---|---|---|
component |
The widget's instance. |
|
element |
The widget's container. It is an HTML Element or a jQuery Element when you use jQuery. |
|
model |
The model data. Available only if you use Knockout. |
onEnterKey
A handler for the enterKey event.
Information about the event.
Name | Type | Description |
---|---|---|
component |
The widget's instance. |
|
element |
The widget's container. It is an HTML Element or a jQuery Element when you use jQuery. |
|
model |
The model data. Available only if Knockout is used. |
|
jQueryEvent |
Use 'event' instead. The jQuery event that caused the handler execution. Deprecated in favor of the event field. |
|
event | Event (jQuery or EventObject) |
The event that caused the handler execution. It is a dxEvent or a jQuery.Event when you use jQuery. |
Assign a function to perform a custom action after the 'Enter' key is pressed within the widget's input element.
onFocusIn
A handler for the focusIn event.
Information about the event.
Name | Type | Description |
---|---|---|
component |
The widget's instance. |
|
element |
The widget's container. It is an HTML Element or a jQuery Element when you use jQuery. |
|
model |
The model data. Available only if Knockout is used. |
|
jQueryEvent |
Use 'event' instead. The jQuery event that caused the handler execution. Deprecated in favor of the event field. |
|
event | Event (jQuery or EventObject) |
The event that caused the handler execution. It is a dxEvent or a jQuery.Event when you use jQuery. |
Assign a function to perform a custom action after the widget's input is focused.
onFocusOut
A handler for the focusOut event.
Information about the event.
Name | Type | Description |
---|---|---|
component |
The widget's instance. |
|
element |
The widget's container. It is an HTML Element or a jQuery Element when you use jQuery. |
|
model |
The model data. Available only if Knockout is used. |
|
jQueryEvent |
Use 'event' instead. The jQuery event that caused the handler execution. Deprecated in favor of the event field. |
|
event | Event (jQuery or EventObject) |
The event that caused the handler execution. It is a dxEvent or a jQuery.Event when you use jQuery. |
Assign a function to perform a custom action after the widget's input element loses focus.
onInitialized
A handler for the initialized event. Executed only once, after the widget is initialized.
Information about the event.
Name | Type | Description |
---|---|---|
component |
The widget's instance. |
|
element |
The widget's container. It is an HTML Element or a jQuery Element when you use jQuery. |
You cannot access widget elements in this handler because it is executed before they are ready. Use the onContentReady handler instead.
onInput
A handler for the input event.
Information about the event.
Name | Type | Description |
---|---|---|
component |
The widget's instance. |
|
element |
The widget's container. It is an HTML Element or a jQuery Element when you use jQuery. |
|
model |
The model data. Available only if Knockout is used. |
|
jQueryEvent |
Use 'event' instead. The jQuery event that caused the handler execution. Deprecated in favor of the event field. |
|
event | Event (jQuery or EventObject) |
The event that caused the handler execution. It is a dxEvent or a jQuery.Event when you use jQuery. |
Assign a function to perform a custom action when a value within the widget's input element is changed by an end user.
onItemClick
A handler for the itemClick event.
Information about the event.
Name | Type | Description |
---|---|---|
component |
The widget's instance. |
|
element |
The widget's container. It is an HTML Element or a jQuery Element when you use jQuery. |
|
model |
The model data. Available only if Knockout is used. |
|
itemData |
The clicked item's data. |
|
itemElement |
The item's container. |
|
itemIndex | | |
The clicked item's index. If the widget items are grouped, the index represents an object defining the group and item indexes: { group: 0, item: 0 }. |
Assign a function to perform a custom action when a widget item is clicked.
To navigate to a specific URL when the itemClick event fires, assign that URL directly to this option.
onKeyDown
A handler for the keyDown event.
Information about the event.
Name | Type | Description |
---|---|---|
component |
The widget's instance. |
|
element |
The widget's container. It is an HTML Element or a jQuery Element when you use jQuery. |
|
model |
The model data. Available only if Knockout is used. |
|
jQueryEvent |
Use 'event' instead. The jQuery event that caused the handler execution. Deprecated in favor of the event field. |
|
event | Event (jQuery or EventObject) |
The event that caused the handler execution. It is a dxEvent or a jQuery.Event when you use jQuery. |
Assign a function to perform a custom action when a key is pressed down within the widget's input element.
onKeyPress
A handler for the keyPress event.
Information about the event.
Name | Type | Description |
---|---|---|
component |
The widget's instance. |
|
element |
The widget's container. It is an HTML Element or a jQuery Element when you use jQuery. |
|
model |
The model data. Available only if Knockout is used. |
|
jQueryEvent |
Use 'event' instead. The jQuery event that caused the handler execution. Deprecated in favor of the event field. |
|
event | Event (jQuery or EventObject) |
The event that caused the handler execution. It is a dxEvent or a jQuery.Event when you use jQuery. |
Assign a function to perform a custom action when the keypress DOM event is raised for the current input element.
onKeyUp
A handler for the keyUp event.
Information about the event.
Name | Type | Description |
---|---|---|
component |
The widget's instance. |
|
element |
The widget's container. It is an HTML Element or a jQuery Element when you use jQuery. |
|
model |
The model data. Available only if Knockout is used. |
|
jQueryEvent |
Use 'event' instead. The jQuery event that caused the handler execution. Deprecated in favor of the event field. |
|
event | Event (jQuery or EventObject) |
The event that caused the handler execution. It is a dxEvent or a jQuery.Event when you use jQuery. |
Assign a function to perform a custom action when a key is released within the widget's input element.
onOpened
A handler for the opened event.
Information about the event.
Name | Type | Description |
---|---|---|
component |
The widget's instance. |
|
element |
The widget's container. It is an HTML Element or a jQuery Element when you use jQuery. |
|
model |
The model data. Available only if Knockout is used. |
Assign a function to perform a custom action when the drop-down editor is shown.
onOptionChanged
A handler for the optionChanged event. Executed after an option of the widget is changed.
Information about the event.
Name | Type | Description |
---|---|---|
name |
The option's short name. |
|
model |
The model data. Available only if you use Knockout. |
|
element |
The widget's container. It is an HTML Element or a jQuery Element when you use jQuery. |
|
component |
The widget's instance. |
|
fullName |
The option's full name. |
|
value | any |
The option's new value. |
onPaste
A handler for the paste event.
Information about the event.
Name | Type | Description |
---|---|---|
component |
The widget's instance. |
|
element |
The widget's container. It is an HTML Element or a jQuery Element when you use jQuery. |
|
model |
The model data. Available only if Knockout is used. |
|
jQueryEvent |
Use 'event' instead. The jQuery event that caused the handler execution. Deprecated in favor of the event field. |
|
event | Event (jQuery or EventObject) |
The event that caused the handler execution. It is a dxEvent or a jQuery.Event when you use jQuery. |
Assign a function to perform a custom action after the widget's input is pasted.
onSelectionChanged
A handler for the selectionChanged event.
Information about the event.
Name | Type | Description |
---|---|---|
component |
The widget's instance. |
|
element |
The widget's container. It is an HTML Element or a jQuery Element when you use jQuery. |
|
model |
The model data. Available only if Knockout is used. |
|
selectedItem |
The selected item's data. |
Assign a function to perform a custom action when the selection changes.
onValueChanged
A handler for the valueChanged event.
Information about the event.
Name | Type | Description |
---|---|---|
component |
The widget's instance. |
|
element |
The widget's container. It is an HTML Element or a jQuery Element when you use jQuery. |
|
model |
The model data. Available only if Knockout is used. |
|
value |
The widget's new value. |
|
previousValue |
The widget's previous value. |
|
jQueryEvent |
Use 'event' instead. The jQuery event that caused the handler execution. Deprecated in favor of the event field. |
|
event | Event (jQuery or EventObject) |
The event that caused the handler execution. It is a dxEvent or a jQuery.Event when you use jQuery. |
Assign a function to perform a custom action when the editor value changes.
pagingEnabled
Use the paginate property instead.
Specifies whether or not the widget displays items by pages.
placeholder
The text that is provided as a hint in the select box editor.
readOnly
A Boolean value specifying whether or not the widget is read-only.
rtlEnabled
Switches the widget to a right-to-left representation.
When this option is set to true, the widget text flows from right to left, and the layout of elements is reversed. To switch the entire application/site to the right-to-left representation, assign true to the rtlEnabled field of the object passed to the DevExpress.config(config) method.
DevExpress.config({ rtlEnabled: true });
See Also
- Right-to-Left Support Demo: DataGrid | Navigation Widgets | Editors
searchEnabled
Specifies whether to allow searching.
See Also
searchExpr
Specifies the name of a data source item field or an expression whose value is compared to the search criterion.
In most cases, you should pass the name of a field by whose value data items are searched. If you need to search elements by several field values, assign an array of field names to this option.
searchExpr: ["firstName", "lastName"]
For more information on searching, refer to the Search API section of the Data Layer article. For information on getters, refer to the Getters and Setters section of the Data Layer article.
searchMode
Specifies the binary operation used to filter data.
When using the widget as an ASP.NET MVC Control, specify this option using the DropDownSearchMode
enum. This enum accepts the following values: Contains
and StartsWith
.
searchTimeout
Specifies the time delay, in milliseconds, after the last character has been typed in, before a search is executed.
selectedItem
Gets the currently selected item.
showClearButton
Specifies whether to display the Clear button in the widget.
The Clear button sets the widget value to null.
showDataBeforeSearch
Specifies whether or not the widget displays unfiltered values until a user types a number of characters exceeding the minSearchLength option value.
If this option is disabled, the widget does not display values until the number of typed characters exceeds the minSearchLength value, otherwise it displays all values regardless of the specified filtering condition.
showSelectionControls
Specifies whether or not to display selection controls.
spellcheck
Specifies whether or not the widget checks the inner text for spelling mistakes.
tabIndex
Specifies the number of the element when the Tab key is used for navigating.
The value of this option will be passed to the tabindex
attribute of the HTML element that underlies the widget.
text
The read-only option that holds the text displayed by the widget input element.
validationError
Specifies information on the validation error when using a custom validation engine. Should be changed at runtime along with the isValid option.
See Also
validationMessageMode
Specifies how the message about the validation rules that are not satisfied by this editor's value is displayed.
The following option values are possible:
- auto
The tooltip with the message is displayed when the editor is in focus. - always
The tooltip with the message is not hidden when the editor loses focus.
When using the widget as an ASP.NET MVC Control, specify this option using the ValidationMessageMode
enum. This enum accepts the following values: Auto
and Always
.
value
Specifies the currently selected value. May be an object if dataSource contains objects and valueExpr is not set.
valueChangeEvent
Specifies the DOM events after which the widget's value should be updated. Applies only if acceptCustomValue is set to true.
This option accepts a single event name or several names separated by spaces.
The recommended events are "keyup", "blur", "change", and "focusout", but you can use other events as well.
valueExpr
Specifies which data field provides the widget's value. When this option is not set, the value is the entire data object.
width
Specifies the widget's width.
This option accepts a value of one of the following types:
Number
The width in pixels.String
A CSS-accepted measurement of width. For example,"55px"
,"80%"
,"auto"
,"inherit"
.Function
A function returning either of the above. For example:JavaScriptwidth: function() { return window.innerWidth / 1.5; }
If you have technical questions, please create a support ticket in the DevExpress Support Center.