---
components: ["Dropdown", "DropdownSkeleton"]
---
`Dropdown` is keyed for performance reasons.
Every items object must have a unique "id" property.
### Default
### Custom slot
Override the default slot to customize the display of each item. Access the item and index through the `let:` directive.
### Hidden label
### Format item display text
Use the `itemToString` prop to format the display of individual items.
{
return item.text + ' (' + item.id +')'
}} titleText="Contact" selectedId="0" items="{[{id: "0", text: "Slack"},
{id: "1", text: "Email"},
{id: "2", text: "Fax"}]}" />
### Multiple dropdowns
### Top direction
Set `direction` to `"top"` for the dropdown menu to appear above the input.
### Light variant
### Inline variant
### Extra-large size
### Small size
### Invalid state
### Warning state
### Disabled state
### Skeleton