Drawer

A veces, Dialog no satisface nuestros requisitos, digamos que tiene un formulario masivo, o necesita espacio para mostrar algo como terminos & condiciones, Drawer tiene una API casi idéntica a Dialog, pero introduce una experiencia de usuario diferente.

TIP

Dado que v-model es nativamente soportado para todos los componentes, visible.sync ha sido desaprobado, use v-model="visibilityBinding" para controlar la visibilidad del drawer actual.

Uso básico

Llamada de un drawer temporal, desde varias direcciones

Debe establecer model-value para Drawer como lo hace Dialog para controlar la visibilidad, con un valor del tipo boolean. Drawer tiene tres partes: title & body & footer, el title es un slot con nombre, también puede establecer el título a través de un atributo llamado title, por defecto a una cadena vacía, la parte body es el área principal de Drawer, con contenido definido por el usuario. Al abrir, Drawer se expande desde la esquina derecha a la izquierda cuyo tamaño es 30% de la ventana del navegador por defecto. Puede cambiar ese comportamiento predeterminado estableciendo los atributos direction y size. Este caso de demostración también muestra cómo utilizar la API before-close, consulte la sección Atributos para obtener más detalles

Sin título

Cuando ya no necesite un título, puede eliminarlo del drawer.

Establezca el atributo withHeader a false, para eliminar el título del drawer, así puede tener más espacio en la pantalla. Si quiere ser accesible, asegúrese de establecer el atributo title.

Contenido personalizado

Al igual que Dialog, Drawer se puede utilizar para mostrar una multitud de interacciones diversas.

Cabecera personalizada

El slot header se puede utilizar para personalizar el área donde se muestra el título. Para mantener la accesibilidad, utilice el atributo title cuando use el slot, o utilice la propiedad titleId para especificar qué elemento debe ser leído como el título del diálogo.

Drawer anidados

También puede tener varias capas de Drawer al igual que con Dialog.

Si necesita varios drawer en diferentes capas, debe establecer el atributo append-to-body en true

TIP

El contenido dentro del Drawer se renderiza de forma perezosa, lo que significa que el contenido dentro del Drawer no afectará al rendimiento inicial del renderizado, por lo que cualquier operación DOM debe realizarse a través de ref o después de que se emita el evento open.

TIP

Drawer proporciona una API llamada destroyOnClose, que es una variable de bandera que indica que debe destruir el contenido de los hijos dentro de Drawer después de que se ha cerrado. Puede utilizar esta API en el ciclo de vida mounted del componente para que sea llamado cada vez que se abra el Drawer.

API

Attributes

NombreDescripciónTipoDefault
model-value / v-modelSi se muestra el Drawerbooleanfalse
append-to-bodyLos controles deberían insertar Drawer en el elemento DocumentBody, los Drawer anidados deben asignar este parámetro a truebooleanfalse
append-to 2.8.0which element the Drawer appends to. Will override append-to-bodystringbody
lock-scrollsi el scroll del cuerpo está desactivado mientras se muestra el drawerbooleantrue
before-closeSi se establece, se detendrá el procedimiento de cierreFunction
close-on-click-modalsi el drawer puede ser cerrado haciendo clic en la máscarabooleantrue
close-on-press-escapeIndica si el Drawer puede cerrarse pulsando ESCbooleantrue
open-delayTiempo en (milisegundos) antes de abrir el drawernumber0
close-delayTiempo en (milisegundos) antes de cerrar el drawernumber0
destroy-on-closeIndica si los children deben ser destruidos después de cerrar el Drawerbooleanfalse
modalMostrará una capa de sombrabooleantrue
directionDirección de apertura del Drawerenumrtl
show-closeSe mostrará el botón de cerrar en la parte superior derecha del Drawerbooleantrue
sizeSi el Drawer está en modo horizontal, afecta a la propiedad width, de lo contrario afecta a la propiedad height, cuando el tamaño es tipo number, describe el tamaño por unidad de píxeles; cuando el tamaño es tipo string, se debe usar con notación x%, de lo contrario se interpretará como unidad de píxelesnumber / string30%
titleEl título del Drawer, también se puede establecer por slot con nombre, las descripciones detalladas se pueden encontrar en el formulario de slotstring
withHeaderBandera que controla la existencia de la sección de cabecera, por defecto es verdadera, cuando withHeader tiene false, tanto el atributo tittle como el slot con nombre title dejaran de funcionarbooleantrue
modal-classNombre extra de clase para capa de sombrastring
z-indexestablece z-indexnumber
header-aria-level a11yheader's aria-level attributestring2
custom-class deprecatedExtra class names for Drawerstring

WARNING

custom-class es deprecated y **será **removido en 2.3.0, por favor utilice class.

Events

NombreDescripciónType
openSe dispara antes de que comience la animación de apertura del DrawerFunction
openedSe dispara cuando finaliza la animación de apertura del DrawerFunction
closeSe dispara antes de que comience la animación de cierre del DrawerFunction
closedSe dispara después de que finalice la animación de cierre del DrawerFunction
open-auto-focustriggers after Drawer opens and content focusedFunction
close-auto-focustriggers after Drawer closed and content focusedFunction

Slots

NombreDescripción
defaultEl contenido del Drawer
headerContenido de la cabecera del diálogo. Reemplazar esto elimina el título, pero no elimina el botón cerrar.
footerEl pie de página de la sección del Drawer
title deprecatedFunciona igual que el slot header. Use el slot header en lugar de este slot.

Exposes

NombreDescripción
handleClosePara cerrar Drawer, este método llamará a before-close.

Fuente

ComponentesStyleDocumentación

Contribuidores