/** * DevExtreme (ui/drop_down_editor/ui.drop_down_list.d.ts) * Version: 21.1.7 * Build date: Thu Aug 07 2025 * * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/ */ import { UserDefinedElement, DxElement, } from '../../core/element'; import { template, } from '../../core/templates/template'; import DataSource from '../../data/data_source'; import { EventInfo, NativeEventInfo, ItemInfo, } from '../../events/index'; import { ValueChangedInfo, } from '../editor/editor'; import { DataExpressionMixinOptions, } from '../editor/ui.data_expression'; import dxDropDownEditor, { dxDropDownEditorOptions, } from './ui.drop_down_editor'; export interface SelectionChangedInfo { readonly selectedItem: T; } /** @namespace DevExpress.ui */ export interface dxDropDownListOptions extends DataExpressionMixinOptions, dxDropDownEditorOptions { /** * @docid * @readonly * @default undefined * @ref * @public */ displayValue?: string; /** * @docid * @default "group" * @type_function_param1 itemData:object * @type_function_return string|Element|jQuery * @public */ groupTemplate?: template | ((itemData: any, itemIndex: number, itemElement: DxElement) => string | UserDefinedElement); /** * @docid * @default false * @public */ grouped?: boolean; /** * @docid * @default 0 * @public */ minSearchLength?: number; /** * @docid * @default "No data to display" * @public */ noDataText?: string; /** * @docid * @default null * @type_function_param1 e:object * @type_function_param1_field4 itemData:object * @type_function_param1_field5 itemElement:object * @type_function_param1_field6 itemIndex:number | object * @type_function_param1_field7 event:event * @type_function_param1_field1 component:this * @type_function_param1_field2 element:DxElement * @type_function_param1_field3 model:any * @action * @public */ onItemClick?: ((e: NativeEventInfo & ItemInfo) => void); /** * @docid * @default null * @type_function_param1 e:object * @type_function_param1_field4 selectedItem:object * @type_function_param1_field1 component:this * @type_function_param1_field2 element:DxElement * @type_function_param1_field3 model:any * @action * @public */ onSelectionChanged?: ((e: EventInfo & SelectionChangedInfo) => void); /** * @docid * @default null * @type_function_param1 e:object * @type_function_param1_field4 value:object * @type_function_param1_field5 previousValue:object * @type_function_param1_field6 event:event * @type_function_param1_field1 component:this * @type_function_param1_field2 element:DxElement * @type_function_param1_field3 model:any * @action * @public */ onValueChanged?: ((e: NativeEventInfo & ValueChangedInfo) => void); /** * @docid * @default false * @public */ searchEnabled?: boolean; /** * @docid * @type getter|Array * @default null * @public */ searchExpr?: string | Function | Array; /** * @docid * @type Enums.DropDownSearchMode * @default "contains" * @public */ searchMode?: 'contains' | 'startswith'; /** * @docid * @default 500 * @public */ searchTimeout?: number; /** * @docid * @readonly * @default null * @ref * @public */ selectedItem?: any; /** * @docid * @default false * @public */ showDataBeforeSearch?: boolean; /** * @docid * @ref * @public */ value?: any; /** * @docid * @default "input change keyup" * @public */ valueChangeEvent?: string; /** * @docid * @default false * @public */ wrapItemText?: boolean; /** * @docid * @default false * @public */ useItemTextAsTitle?: boolean; } /** * @docid * @inherits DataExpressionMixin, dxDropDownEditor * @hidden * @namespace DevExpress.ui */ export default class dxDropDownList extends dxDropDownEditor { constructor(element: UserDefinedElement, options?: dxDropDownListOptions) getDataSource(): DataSource; }