Botón de menú desplegable
Uso
Próximamente.
Código
<DropdownMenuButton
buttonText="Menu"
id="dropdown-menu-button">
<DropdownMenuLink>First menu item</DropdownMenuLink>
<DropdownMenuLink>Second menu item</DropdownMenuLink>
<DropdownMenuLink>Third menu item</DropdownMenuLink>
</DropdownMenuButton>
Instrucción de importación
import {
DropdownMenuHeader,
DropdownMenuButton,
DropdownMenuSeparator,
} from '@jutro/components';
import { DropdownMenuLink } from '@jutro/router';
Contrato de componentes
Asegúrese de comprender la superficie de la API de componentes del sistema de diseño, así como sus implicaciones, ventajas y desventajas. Obtenga más información en nuestra introducción a la API de componentes.
Propiedades
idobligatorio- Tipo
stringDescripciónUnique identifier for the component.
alignRight- Tipo
booleanDescripciónIf set to
true, the menu items are aligned to the right edge of the menu. autoFocus- Tipo
booleanDescripciónIf set to
true, the first menu item gets focused after opening the dropdown menu. buttonText- TipoDescripción
The text displayed on the button.
dropUp- Tipo
booleanDescripciónIf set to
true, the menu appears above the trigger component. fullWidth- Tipo
booleanDescripciónIf set to
true, expands button container to parent's boundaries. icon- Tipo
string | IconDescripciónAn Icon component to render on the component. The value must be an
Iconcomponent or the icon's name. For example,CheckIconor'gw-check'. isOpen- Tipo
booleanDescripciónIf set to
true, the menu is currently opened. menuClassName- Tipo
stringDescripciónOverride the class for the inner menu of the dropdown menu.
toggleButtonClassName- Tipo
stringDescripciónCustom class name for the toggle button.
Propiedades secundarias del menú desplegable
Dropdown menu Los componentes utilizan DropdownMenuHeader, DropdownMenuLink y DropdownMenuSeparator como componentes secundarios. Las propiedades de estos componentes son las siguientes:
Propiedades de DropdownMenuHeader
children- Tipo
React.ReactNodeDescripciónThe component children, wrapped by the dropdown menu header component.
id- Tipo
stringDescripciónUnique identifier for the component.
title- Descripción
The element node representing the header title, in most cases it will be a plain string.
Propiedades de DropdownMenuLink
activeClassName- Tipo
stringDescripciónThe class to give the link when it is active.
children- Tipo
stringDescripciónThe children elements to render inside of the DropdownMenuLink.
className- Tipo
stringDescripciónCSS class name for this component.
disabled- Tipo
booleanDescripciónIf set to
true, this link is disabled. focused- Tipo
stringDescripciónIf set to
true, the link is considered as the currently active one. href- TipoDescripción
Used to specify an external link.
icon- Tipo
string | IconDescripciónAn Icon component to render on the component. The value must be an
Iconcomponent or the icon's name. For example,CheckIconor'gw-check'. iconClassName- Tipo
stringDescripciónAdditional class names for the icon.
iconPosition- Tipo
'left' | 'right'DescripciónWhere the icon is placed relative to the text.
id- Tipo
stringDescripciónUnique identifier for the component.
onClick- Tipo
function (React.MouseEvent<HTMLElement>)DescripciónOn click event handler.
rel- Tipo
stringDescripciónSpecifies the relationship between the current and an external document, like the HTML
relattribute. target- Tipo
stringDescripciónSpecifies where to open the external link, like the HTML
targetattribute. to- Tipo
IntlMessageShape | {pathname?, hash?}DescripciónUsed to specify an internal link.
visible- Tipo
booleanDescripciónIf set to
true, this link is visible.
Propiedades de DropdownMenuSeparator
className- Tipo
stringDescripciónCSS class name for this component.
id- Tipo
stringDescripciónUnique identifier for the component.
Ganchos
No hay ganchos para Menú desplegable.
Claves de traducción
No hay traducciones para Menú desplegable.
Para obtener información sobre cómo gestionar las traducciones, consulte nuestra sección sobre internacionalización.
Escotillas de escape
Para obtener más información, consulte nuestra documentación sobre escotillas de escape.
Uso del componente botón obsoleto
El componente botón del botón de menú desplegable utiliza el componente botón obsoleto de antes de la versión 10.0. En consecuencia, podría verse y comportarse de manera diferente a otros botones de la aplicación. Los detalles de este componente heredado se encuentran en Storybook.
Si desea mantener la uniformidad, le recomendamos crear una versión personalizada combinando el componente botón estable con un menú desplegable.
Ejemplos
El componente DropdownMenuButton renderiza un botón. Cuando el usuario hace clic en el botón, se renderiza un árbol de cualquiera de los siguientes:
DropdownMenuLinkDropdownMenuSeparatorDropdownMenuHeader
Consulte la sección Uso para obtener detalles sobre cómo diseñar un botón de menú desplegable correctamente y las diferentes opciones de configuración que ofrecemos.
Ejemplo de menú desplegable básico
En el siguiente ejemplo, se muestra cómo crear un componente DropdownMenuButton simple.
<DropdownMenuButton
buttonText="Menu"
id="dropdown-menu-button">
<DropdownMenuLink>First menu item</DropdownMenuLink>
<DropdownMenuLink>Second menu item</DropdownMenuLink>
<DropdownMenuLink>Third menu item</DropdownMenuLink>
</DropdownMenuButton>
Ejemplo de encabezados y separador
Puede usar encabezados y separadores para crear una separación entre grupos de opciones.
<DropdownMenuButton
buttonText="Menu"
id="dropdown-menu-button">
<DropdownMenuLink>First menu item</DropdownMenuLink>
<DropdownMenuLink>Second menu item</DropdownMenuLink>
<DropdownMenuSeparator />
<DropdownMenuLink>Separated menu item</DropdownMenuLink>
<DropdownMenuSeparator />
<DropdownMenuHeader title="Header text">
<DropdownMenuLink>First header menu item</DropdownMenuLink>
<DropdownMenuLink>Second header menu item</DropdownMenuLink>
</DropdownMenuHeader>
</DropdownMenuButton>
Ejemplo de menú desplegable hacia arriba
Puede usar la propiedad dropUp para renderizar el menú sobre el botón cuando se hace clic en él.
<DropdownMenuButton
buttonText="Menu"
id="dropdown-menu-button"
dropUp={true}>
<DropdownMenuLink>First menu item</DropdownMenuLink>
<DropdownMenuLink>Second menu item</DropdownMenuLink>
<DropdownMenuLink>Third menu item</DropdownMenuLink>
</DropdownMenuButton>
Registro de cambios
10.10.1
Se agregaron tokens de diseño adicionales para este componente.
10.9.0
-
Se introdujo una nueva característica de opción de participación que desactiva la publicación automática de eventos para el componente DropdownMenuButton. Puede habilitar esta función agregando
JUTRO_DISABLE_AUTO_EVENTS_PUBLISHING=trueal archivo.enven la raíz de su aplicación de Jutro. Cuando esta acción está habilitada, los componentes heredados ya no publican eventos de forma predeterminada. Para obtener más información sobre los eventos y cómo configurar nuevos, consulte la documentación sobre eventos.
Tipo de propiedad icon extendida
El tipo de la propiedad icon se ha extendido a string | React.ComponentType.
Elementos obsoletos
El paso de un string como valor a la propiedad icon ha quedado obsoleto.