Arrastra el borde interior del panel para redimensionarlo, o enfoca y usa las teclas de flecha. Haz doble clic en el borde, o pulsa Enter para volver al ancho por defecto.
Un SidePanel desliza desde el borde de la página sobre su contenido, para obtener detalles o un formulario que pertenezca al lado de la página en lugar de en su lugar. El usuario puede redimensionarlo con un mango de arrastre en su borde interior, mientras redimensiona la navegación, y hacer doble clic en el mando para restablecerlo. Por defecto, se acopla a la derecha, al final de la página; se configura Position (position) en Start (start) para acoplarlo a la izquierda. Los botones de la cuadrícula abren su forma de registro en uno cuando su ubicación es un panel lateral.
<Button onClick={() => setOpen(true)}>Detalles</Button>
<SidePanel
open={open}
onOpenChange={setOpen}
title="Detalles"
widthStorageKey="my-app.details-panel.width"
>
...
</SidePanel><FluentButton OnClick="@(() => _open = true)">Detalles</FluentButton>
<SidePanel @bind-Open="_open"
Title="Detalles"
WidthStorageKey="my-app.details-panel.width">
...
</SidePanel>El redimensionamiento está activado por defecto; se configura EnableResizing (enableResizing en React) para false un ancho fijo. DefaultWidth, MinWidth y MaxWidth se establece el ancho inicial y hasta dónde puede llegar el usuario, y el panel nunca es más ancho que el viewport. Pones WidthStorageKey una clave propia del panel y se vuelve a abrir al ancho que el usuario dejó a lo largo de las cargas de página. En un teléfono el panel ocupa todo el ancho y no tiene asco.
{/* Empieza en 560px, se puede redimensionar entre 400px y 900px, y se recuerda */}
<SidePanel
open={open}
onOpenChange={setOpen}
defaultWidth={560}
minWidth={400}
maxWidth={900}
widthStorageKey="my-app.editor-panel.width"
>
...
</SidePanel>
{/* Un ancho fijo, sin mango */}
<SidePanel open={open} onOpenChange={setOpen} enableResizing={false}>
...
</SidePanel><!-- Empieza en 560px, se puede redimensionar entre 400px y 900px, y se recuerda -->
<SidePanel @bind-Open="_open"
DefaultWidth="560"
MinWidth="400"
MaxWidth="900"
WidthStorageKey="my-app.editor-panel.width">
...
</SidePanel>
<!-- Un ancho fijo, sin mango -->
<SidePanel @bind-Open="_open" EnableResizing="false">
...
</SidePanel>Title y FooterContent (title y footer en React) cubren la mayoría de los paneles. Cuando el pie de página depende del estado dentro del contenido — un botón de guardar activado solo una vez que un formulario ha cambiado — compone el panel en su lugar: TitleTemplate y FooterContent en Blazor, y en React SidePanelHeader, SidePanelBody y SidePanelFooter, que pueden estar dentro de un proveedor de contexto propio.
<SidePanel open={open} onOpenChange={setOpen}>
<RecordContext table="contact" id={id}>
<SidePanelHeader>Detalles</SidePanelHeader>
<SidePanelBody>...</SidePanelBody>
<SidePanelFooter>
<SaveButton /> {/* lee el contexto del registro para saber si hay algo que salvar */}
</SidePanelFooter>
</RecordContext>
</SidePanel><SidePanel @bind-Open="_open">
<TitleTemplate>Detalles</TitleTemplate>
<ChildContent>...</ChildContent>
<FooterContent>
<FluentButton OnClick="@SaveAsync" Disabled="@(!_isDirty)">Salvar</FluentButton>
</FooterContent>
</SidePanel>Abre el panel a cada lado y arrastra el borde interior para redimensionarlo, o enfoca el borde y usa las teclas de flecha; haz doble clic o pulsa Enter para reiniciarlo. Recuerda su ancho, así que ciérralo, recarga la página y ábrelo de nuevo.
Arrastra el borde interior del panel para redimensionarlo, o enfoca y usa las teclas de flecha. Haz doble clic en el borde, o pulsa Enter para volver al ancho por defecto.
Nombre | Tipo | Default | Descripción |
|---|---|---|---|
ChildContent | RenderFragment? | El contenido del panel. | |
DefaultWidth | int | 400 | Ancho en px antes de que el usuario redimensione, y al hacer doble clic reiniciar. Por defecto es 400. |
EnableResizing | bool | True | Cuando true (por defecto), un mango de arrastre en el borde del panel que mira hacia la página permite al usuario redimensionarla. Haz doble clic en el mango para restablecerlo a DefaultWidth. No hay manilla en un teléfono, donde el panel ocupa todo el ancho. |
FooterContent | RenderFragment? | El pie de página del panel, normalmente sus botones de acción. | |
MaxWidth | int | 1200 | El panel más ancho que el usuario puede hacer en px. Por defecto es 1200; nunca más ancho que el viewport. |
MinWidth | int | 320 | El panel más estrecho que el usuario pueda hacer, en px. Por defecto es 320. |
Modal | bool | True | Si el panel es modal. Por defecto se asigna truea . |
Open | bool | False | Si el panel está abierto. Se puede unir en dos direcciones. |
Position | SidePanelPosition | End | A qué borde de la página se acopla el panel. Por defecto se ajusta a SidePanelPosition.End. |
PreventDismissOnEscape | bool | False | Si se ignora si pulsas Escape en vez de cerrar el panel. |
ShowDismiss | bool | True | Si mostrar un botón de desestimar (X) en la barra de título. Por defecto se muestra en true. |
Title | string? | Título en texto plano. Ignorado cuando TitleTemplate se establece. | |
TitleTemplate | RenderFragment? | Contenido del título. | |
WidthStorageKey | string? | clave localStorage el panel recuerda su ancho debajo, así que se reabre al tamaño del usuario Lo dejó. Deja sin poner para empezar en DefaultWidth todo momento. Da cada tipo de Coloca su propia tecla para que cada uno recuerde su propio ancho. |
ChildContentDefaultWidthEnableResizingtrue (por defecto), un mango de arrastre en el borde del panel que mira hacia la página permite al usuario redimensionarla. Haz doble clic en el mango para restablecerlo a DefaultWidth. No hay manilla en un teléfono, donde el panel ocupa todo el ancho.FooterContentMaxWidthMinWidthModaltruea .OpenPositionSidePanelPosition.End.PreventDismissOnEscapeShowDismisstrue.TitleTitleTemplate se establece.TitleTemplateWidthStorageKeyDefaultWidth todo momento. Da cada tipo de Coloca su propia tecla para que cada uno recuerde su propio ancho.Nombre | Tipo | Descripción |
|---|---|---|
OnDismiss | EventCallback | Se eleva cuando el usuario cierra el panel (Escape o el botón de cerrar), no cuando Open está establecido por el padre. |
OpenChanged | EventCallback<bool> | Se eleva cuando false el usuario cierra el panel. |
OnDismissOpen está establecido por el padre.OpenChangedfalse el usuario cierra el panel.