• What is KendoReact
  • Getting Started
  • Components
    • Animation
    • Barcodes
    • Buttons
    • Chartsupdated
    • Common Utilitiesupdated
    • Conversational UI
    • Data Gridupdated
    • Data Query
    • Data Tools
    • Date Inputsupdated
    • Date Math
    • Dialogs
    • Drawing
    • Dropdownsupdated
    • Editorupdated
    • Excel Export
    • File Saver
    • Formupdated
    • Gantt
    • Gauges
    • Indicators
    • Inputsupdated
    • Labels
    • Layoutupdated
    • ListBox
    • ListView
    • Map
    • Notification
    • OrgChartnew
    • PDF Processing
    • PDFViewerupdated
    • PivotGrid
    • Popup
    • Progress Bars
    • Ripple
    • Scheduler
    • ScrollView
    • Sortable
    • Spreadsheetupdated
    • TaskBoard
    • Tooltips
    • TreeList
    • TreeViewupdated
    • Upload
  • Sample Applications
  • Styling & Themes
  • Common Features
  • Project Setup
  • Knowledge Base
  • Changelog
  • Updates
  • Troubleshooting

MultiSelectProps

Represents the props of the KendoReact MultiSelect component.

NameTypeDefaultDescription

accessKey?

string

Specifies the accessKey of the MultiSelect.

adaptive?

boolean

Providing different rendering of the popup element based on the screen dimensions.

adaptiveFilter?

string

Sets the value of the adaptive filtering input of the of MultiSelect.

adaptiveTitle?

string

Specifies the text that is rendered as title in the adaptive popup.

allowCustom?

boolean

Specifies whether the MultiSelect allows user-defined values that are not present in the dataset (see example). Defaults to false.

ariaDescribedBy?

string

Identifies the element(s) which will describe the component, similar to HTML aria-describedby attribute. For example these elements could contain error or hint message.

ariaLabelledBy?

string

Identifies the element(s) which will label the component.

autoClose?

boolean

true

Determines whether to close the options list of the MultiSelect after the item selection is finished.

class App extends React.Component {
   render() {
      return (
             <MultiSelect
                 data={[ "Albania", "Andorra", "Austria", "Belarus" ]}
                 autoClose={false}
             />
      );
   }
}
ReactDOM.render(<App />, document.querySelector('my-app'));

className?

string

Sets additional classes to the MultiSelect.

data?

any[]

Sets the data of the MultiSelect (see example).

dataItemKey?

string

Sets the key for comparing the data items of the MultiSelect (see example). If dataItemKey is not set, the MultiSelect compares the items by reference.

defaultValue?

any[]

Sets the default value of the MultiSelect. Similar to the native select HTML element.

dir?

string

Represents the dir HTML attribute.

disabled?

boolean

Sets the disabled state of the MultiSelect.

fillMode?

"null" | "flat" | "outline" | "solid"

solid

Configures the fillMode of the MultiSelect.

The available options are:

  • solid
  • flat
  • outline
  • null—Does not set a fillMode className.

filter?

string

Sets the value of filtering input. Useful for making the filtering input a controlled component.

filterable?

boolean

Enables the filtering functionality of the MultiSelect (more information and examples).

React.ReactNode

Sets the footer component of the MultiSelect (see example).

groupField?

string

Sets the data item field that represents the start of a group. Applicable to objects data.

header?

React.ReactNode

Sets the header component of the MultiSelect (see example).

id?

string

Specifies the id of the component.

label?

string

Renders a floating label for the MultiSelect.

loading?

boolean

Sets the loading state of the MultiSelect (see example).

name?

string

Specifies the name property of the input DOM element.

This property is part of the FormComponentProps interface.

opened?

boolean

Sets the opened and closed state of the MultiSelect.

placeholder?

string

The hint that is displayed when the MultiSelect is empty.

popupSettings?

DropDownsPopupSettings

Configures the popup of the MultiSelect.

required?

boolean

Specifies if null is a valid value for the component.

This property is part of the FormComponentProps interface.

rounded?

"null" | "small" | "medium" | "full" | "large"

medium

Configures the roundness of the MultiSelect.

The available options are:

  • small
  • medium
  • large
  • full
  • null—Does not set a rounded className.

size?

"null" | "small" | "medium" | "large"

medium

Configures the size of the MultiSelect.

The available options are:

  • small
  • medium
  • large
  • null—Does not set a size className.

skipDisabledItems?

boolean

Defines if MultiSelect's disabled items will be skipped or focused when navigating through the list of items using a keyboard. Defaults to true.

style?

React.CSSProperties

The styles that are applied to the MultiSelect.

tabIndex?

number

Specifies the tabIndex of the MultiSelect.

tags?

TagData[]

Sets the tags of the MultiSelect (see example).

textField?

string

Sets the data item field that represents the item text (see example). If the data contains only primitive values, do not define it.

valid?

boolean

Overrides the validity state of the component. If valid is set, the required property will be ignored.

This property is part of the FormComponentProps interface.

validationMessage?

string

Controls the form error message of the component. If set to an empty string, no error will be thrown.

This property is part of the FormComponentProps interface.

validityStyles?

boolean

If set to false, no visual representation of the invalid state of the component will be applied.

This property is part of the FormComponentProps interface.

value?

any[]

Sets the value of the MultiSelect (see example). It can either be of the primitive (string, numbers) or of the complex (objects) type.

virtual?

VirtualizationSettings

Configures the virtual scrolling of the MultiSelect (see example).

Methods

focusedItemIndex

If set, the MultiSelect will use it to get the focused item index.

Default functionality returns the first item which starts with the input text.

const focusedItemIndex = (data, inputText, textField) => {
    let text = inputText.toLowerCase();
    return data.findIndex(item =>
        String(textField ? item[textField] : item).toLowerCase().includes(text));
};

<MultiSelect focusedItemIndex={focusedItemIndex} />
Parameters

data

any

inputText

string

textField?

string

Returns

number

groupHeaderItemRender

Fires when a DropDownList's group header item is about to be rendered. Used to override the default appearance of the group's headers.

Parameters

li

ReactElement<HTMLLIElement>

itemProps

ListGroupItemProps

Returns

ReactNode

groupStickyHeaderItemRender

Fires when a DropDownList's sticky group header item is about to be rendered. Used to override the default appearance of the sticky group header of the component.

Parameters

div

ReactElement<HTMLDivElement>

stickyHeaderProps

GroupStickyHeaderProps

Returns

ReactNode

itemRender

Fires when a MultiSelect item is about to be rendered (see example). Used to override the default appearance of the list items.

Parameters

li

ReactElement<HTMLLIElement>

itemProps

ListItemProps

Returns

ReactNode

listNoDataRender

Fires when the element which indicates no data in the popup is about to be rendered (see example). Used to override the default appearance of the element.

Parameters

element

ReactElement<HTMLDivElement>

Returns

ReactNode

onBlur

Fires each time the MultiSelect gets blurred.

Parameters

event

MultiSelectBlurEvent

onCancel

Fires each time the popup of the MultiSelect is about to cancel in (adaptive mode).

Parameters

event

MultiSelectCancelEvent

onChange

Fires each time the value of the MultiSelect is about to change (see examples).

Parameters

event

MultiSelectChangeEvent

onClose

Fires each time the popup of the MultiSelect is about to close.

Parameters

event

MultiSelectCloseEvent

onFilterChange

Fires each time the user types in the filter input (see example). You can filter the source based on the passed filtration value.

Parameters

event

MultiSelectFilterChangeEvent

onFocus

Fires each time the user focuses the MultiSelect.

Parameters

event

MultiSelectFocusEvent

onOpen

Fires each time the popup of the MultiSelect is about to open.

Parameters

event

MultiSelectOpenEvent

onPageChange

Fires when both the virtual scrolling of the MultiSelect is enabled and when the component requires data for another page (see example).

Parameters

event

MultiSelectPageChangeEvent

tagRender

Fires when a tag element is about to be rendered (see example). Used to override the default appearance of the element.

Parameters

tagData

TagData

tag

ReactElement<any>

Returns

ReactElement<any>