UI Widgets DropDownMenu

A drop-down menu widget.

Included in: dx.phonejs.js, dx.all.js

The dxDropDownMenu widget is a UI element (a button or a toolbar item) that displays a drop-down menu when clicked.

This widget, like any other DevExtreme UI widget, can be created using one of three possible approaches: jQuery, Knockout or AngularJS. The following code demonstrates how to create the dxDropDownMenu widget using the Knockout approach.

HTML
<div data-bind="dxDropDownMenu: { buttonText: 'Show menu', dataSource: dropDownMenuData, itemClickAction: menuItemClicked }"></div>

The drop-down menu items are loaded from an array specified via the dataSource configuration option. You can specify a DataSource object, a simple array, or an array of objects as the widget data source.

JavaScript
var dropDownMenuData = [
    "Copy",
    "Cut",
    "Clear"
];

Declare a function that processes a menu item click, and assign it to the itemClickAction configuration option.

JavaScript
var menuItemClicked = function(e){
    alert(e.itemData + "item clicked");
};

Note that you can access the clicked item text from the itemData field of the object passed as an argument to the itemClickAction function.

To display widget items, a default template is applied based on the following fields of the data source item objects.

  • disabled
    Specifies whether or not the widget item is disabled.
  • visible
    Specifies whether or not the widget item is visible.
  • html
    Specifies the html code inserted into the item element.
  • text
    Specifies the text inserted into the item element.

You can introduce a custom template for the widget's items. For this purpose, add a div element with the data-options attribute set to dxTemplate. Assign item to the template name. In this instance, the template will be applied automatically. See the Customize Widget Item Appearance topic to learn more about templates.

See Also
  • To learn how to create widgets in detail, refer to the Create a Widget article.
  • The dxDropDownMenu widget is related to the Collection Containers category. So read an overview of the features that are common for collection container widgets in the Common Tasks topic of the Collection Containers article.
Show Example:
jQuery
<div data-bind="dxDropDownMenu: { buttonText: 'Show menu', dataSource: dropDownMenuData, itemClickAction: menuItemClicked }"></div>
dropDownMenuData = [
    "Copy",
    "Cut",
    "Clear"
];
menuItemClicked = function(e){
    DevExpress.ui.notify( e.itemData + " item clicked", "success", 2000 );
};
body {
  text-align: center;
}
#menu {
  margin-top: 25px;
}

Configuration

An object defining configuration options for the dxDropDownMenu widget.

Methods

This section describes methods that can be used to manipulate a widget.

Events

This section describes events fired by this component.

Default Item Template

This section lists the data source fields that are used in a default template for drop-down menu items.

By default, a predefined item template is applied to display items of DevExtreme collection widgets. This template is based on certain fields of the data source provided for a widget. Below is the list of the fields that take part in a default item template for the dxDropDownMenu widget. If the default item template is not appropriate for your task, implement a custom item template based on these or other fields of your data source. For details refer to the Customize Widget Item Appearance topic.