Class yii\bootstrap4\Dropdown
| Inheritance | yii\bootstrap4\Dropdown » yii\bootstrap4\Widget » yii\base\Widget | 
|---|---|
| Uses Traits | yii\bootstrap4\BootstrapWidgetTrait | 
Dropdown renders a Bootstrap dropdown menu component.
For example,
<div class="dropdown">
    <a href="#" data-toggle="dropdown" class="dropdown-toggle">Label <b class="caret"></b></a>
    <?php
        echo Dropdown::widget([
            'items' => [
                ['label' => 'DropdownA', 'url' => '/'],
                ['label' => 'DropdownB', 'url' => '#'],
            ],
        ]);
    ?>
</div>
See also https://getbootstrap.com/docs/4.2/components/dropdowns/.
Public Properties
| Property | Type | Description | Defined By | 
|---|---|---|---|
| $clientEvents | array | The event handlers for the underlying Bootstrap JS plugin. | yii\bootstrap4\BootstrapWidgetTrait | 
| $clientOptions | array | The options for the underlying Bootstrap JS plugin. | yii\bootstrap4\BootstrapWidgetTrait | 
| $encodeLabels | boolean | Whether the labels for header items should be HTML-encoded. | yii\bootstrap4\Dropdown | 
| $items | array | List of menu items in the dropdown. | yii\bootstrap4\Dropdown | 
| $options | array | The HTML attributes for the widget container tag. | yii\bootstrap4\Widget | 
| $submenuOptions | array|null | The HTML attributes for sub-menu container tags. | yii\bootstrap4\Dropdown | 
Public Methods
| Method | Description | Defined By | 
|---|---|---|
| getView() | yii\bootstrap4\BootstrapWidgetTrait | |
| init() | Initializes the widget. | yii\bootstrap4\Dropdown | 
| run() | Renders the widget. | yii\bootstrap4\Dropdown | 
Protected Methods
| Method | Description | Defined By | 
|---|---|---|
| registerClientEvents() | Registers JS event handlers that are listed in $clientEvents. | yii\bootstrap4\BootstrapWidgetTrait | 
| registerPlugin() | Registers a specific Bootstrap plugin and the related events | yii\bootstrap4\BootstrapWidgetTrait | 
| renderItems() | Renders menu items. | yii\bootstrap4\Dropdown | 
Property Details
Whether the labels for header items should be HTML-encoded.
List of menu items in the dropdown. Each array element can be either an HTML string, or an array representing a single menu with the following structure:
- label: string, required, the label of the item link.
- encode: bool, optional, whether to HTML-encode item label.
- url: string|array, optional, the URL of the item link. This will be processed by \yii\helpers\Url::to(). If not set, the item will be treated as a menu header when the item has no sub-menu.
- visible: bool, optional, whether this menu item is visible. Defaults to true.
- linkOptions: array, optional, the HTML attributes of the item link.
- options: array, optional, the HTML attributes of the item.
- items: array, optional, the submenu items. The structure is the same as this property. Note that Bootstrap doesn't support dropdown submenu. You have to add your own CSS styles to support it.
- submenuOptions: array, optional, the HTML attributes for sub-menu container tag. If specified it will be merged with $submenuOptions.
To insert divider use -.
The HTML attributes for sub-menu container tags.
Method Details
Initializes the widget.
This method will register the bootstrap asset bundle. If you override this method, make sure you call the parent implementation first.
| public void init ( ) | 
Renders menu items.
| protected string renderItems ( $items, $options = [] ) | ||
| $items | array | The menu items to be rendered | 
| $options | array | The container HTML attributes | 
| return | string | The rendering result. | 
|---|---|---|
| throws | \yii\base\InvalidConfigException | if the label option is not specified in one of the items. | 
| throws | Exception | |
Renders the widget.
| public void run ( ) | ||
| throws | \yii\base\InvalidConfigException | |
|---|---|---|