Resumen de la lista de Blazor
El elemento Ignite UI for Blazor Lista es extremadamente útil al presentar un grupo de elementos. Puedes crear una lista sencilla de elementos textuales, o una más compleja, que contenga una variedad de diferentes elementos de diseño. ElIgbList componente muestra filas de elementos y también soporta uno o más encabezados. Cada elemento de la lista es completamente templacionable y soportará cualquier HTML válido u otros componentes.
Blazor List Example
El siguiente ejemplo representa una lista poblada con contactos con propiedades de nombre y número de teléfono. ElIgbList componente que se muestra a continuación utiliza losIgbAvatar elementos yIgbButton para enriquecer la experiencia del usuario y exponer las capacidades de configurar la imagen del avatar y los botones para acciones de texto y llamadas.
Usage
En esencia, el componente web de lista le permite mostrar fácilmente una lista vertical de elementos.
Antes de usarlosIgbList, debes registrarlo de la siguiente manera:
// in Program.cs file
builder.Services.AddIgniteUIBlazor(typeof(IgbListModule));
También tendrás que vincular un archivo CSS adicional para aplicar el estilo alIgbList componente. Lo siguiente debe colocarse en el archivo wwwroot/index.html de un proyecto de ensamblador web Blazor o en el archivo Pages/_Host.cshtml de un proyecto Blazor Server:
<link href="_content/IgniteUI.Blazor/themes/light/bootstrap.css" rel="stylesheet" />
Para una introducción completa al Ignite UI for Blazor, lee el tema Empezar.
Add List Items
Ahora podemos agregar el siguiente código para obtener una lista simple de elementos:
<IgbList>
<IgbListHeader>Header</IgbListHeader>
<IgbListItem>
<h2 slot="title">Item 1</h2>
</IgbListItem>
<IgbListItem>
<h2 slot="title">Item 2</h2>
</IgbListItem>
<IgbListItem>
<h2 slot="title">Item 3</h2>
</IgbListItem>
</IgbList>
Si todo ha ido bien deberías ver lo siguiente en tu navegador:
Mejoremos un poco nuestro juego y mejoremos los elementos de nuestra lista. Digamos que queremos crear una lista de contactos con un nombre y un número de teléfono debajo del nombre. Para lograrlo, podemos usar algunas de las ranuras que vienen con los elementos de la lista, como se muestra en el siguiente ejemplo:
<IgbList>
<IgbListHeader>
<h1>Contacts</h1>
</IgbListHeader>
<IgbListItem>
<h2 slot="title">Terrance Orta</h2>
<span slot="subtitle">770-504-2217</span>
</IgbListItem>
<IgbListItem>
<h2 slot="title">Richard Mahoney</h2>
<span slot="subtitle">423-676-2869</span>
</IgbListItem>
<IgbListItem>
<h2 slot="title">Donna Price</h2>
<span slot="subtitle">859-496-2817</span>
</IgbListItem>
</IgbList>
Después de implementar el código anterior, nuestro componente de lista ahora debería verse como el siguiente:
Adding Avatar and Buttons
Podemos usar algunos de nuestros otros componentes junto con elIgbList componente para enriquecer la experiencia y añadir funcionalidad. Podemos tener un bonito avatar con foto a la izquierda del nombre y los valores del teléfono. Además, podemos añadir algunos botones a la derecha para permitir que el usuario envíe mensajes de texto y llame a contactos, así que actualicemos nuestro componente de lista de contactos para mostrar el avatar y los botones. Podemos hacerlo usando algunos de los espacios de los elementos de la lista.
<IgbList>
<IgbListHeader>
<h1>Contacts</h1>
</IgbListHeader>
<IgbListItem>
<IgbAvatar slot="start" src="https://static.infragistics.com/xplatform/images/avatars/8.jpg" Shape="@AvatarShape.Circle"/>
<h2 slot="title">Terrance Orta</h2>
<span slot="subtitle">770-504-2217</span>
<IgbButton slot="end" Variant="@ButtonVariant.Outlined">Text</IgbButton>
<IgbButton slot="end" Variant="@ButtonVariant.Outlined">Call</IgbButton>
</IgbListItem>
<IgbListItem>
<IgbAvatar slot="start" src="https://static.infragistics.com/xplatform/images/avatars/17.jpg" Shape="@AvatarShape.Circle"/>
<h2 slot="title">Richard Mahoney</h2>
<span slot="subtitle">423-676-2869</span>
<IgbButton slot="end" Variant="@ButtonVariant.Outlined">Text</IgbButton>
<IgbButton slot="end" Variant="@ButtonVariant.Outlined">Call</IgbButton>
</IgbListItem>
<IgbListItem>
<IgbAvatar slot="start" src="https://static.infragistics.com/xplatform/images/avatars/9.jpg" Shape="@AvatarShape.Circle"/>
<h2 slot="title">Donna Price</h2>
<span slot="subtitle">859-496-2817</span>
<IgbButton slot="end" Variant="@ButtonVariant.Outlined">Text</IgbButton>
<IgbButton slot="end" Variant="@ButtonVariant.Outlined">Call</IgbButton>
</IgbListItem>
</IgbList>
Lastart ranura está pensada para añadir algún tipo de contenido antes de cualquier otro contenido de nuestra lista. El elemento objetivo, en nuestro caso elIgbAvatar componente, también tendrá una posición y un espacio por defecto.
Laend ranura está pensada para usarse en elementos de lista que tienen algún tipo de acción o metadato, representados, por ejemplo, por un interruptor, un botón, una casilla de verificación, etc. UsaremosIgbButton componentes.
También permitamos al usuario cambiar el tamaño de la lista usando la--ig-size variable CSS. Añadiremos algunos botones de radio para mostrar todos los valores de tamaño. Así, cada vez que se seleccione uno, cambiaremos el tamaño de la lista.
<IgbRadioGroup Alignment="@ContentOrientation.Horizontal">
<IgbRadio Value="Small" label-position="after" Change="OnRadioOptionClick">Small</IgbRadio>
<IgbRadio Value="Medium" label-position="after" Change="OnRadioOptionClick">Medium</IgbRadio>
<IgbRadio Value="Large" label-position="after" Checked="true" Change="OnRadioOptionClick">Large</IgbRadio>
</IgbRadioGroup>
<IgbList style="margin-top: 10px;" Size="@ListSize" />
@code {
public SizableComponentSize ListSize { get; set; }
public void OnRadioOptionClick(IgbComponentBoolValueChangedEventArgs e)
{
IgbRadio radio = e.Parent as IgbRadio;
switch (radio.Value)
{
case "Small":
{
this.ListSize = SizableComponentSize.Small;
break;
}
case "Medium":
{
this.ListSize = SizableComponentSize.Medium;
break;
}
case "Large":
{
this.ListSize = SizableComponentSize.Large;
break;
}
}
}
}
El resultado de implementar el código anterior debería verse similar al siguiente:
Styling
ExponeIgbList varias partes de CSS, dándote control total sobre su estilo:
| Nombre | Descripción |
|---|---|
start |
El contenedor de inicio. |
end |
El contenedor final. |
content |
El encabezado y el contenedor de contenido personalizado. |
header |
El contenedor de títulos y subtítulos. |
title |
El contenedor de títulos. |
subtitle |
El contenedor de subtítulos. |
igc-list-header {
font-size: 20px;
font-weight: 700;
color: var(--ig-primary-700);
}
igc-list-item::part(title) {
font-size: 18px;
color: var(--ig-primary-600);
}
igc-list-item::part(subtitle) {
color: var(--ig-primary-300);
}
En este artículo hemos tratado muchos temas con elIgbList componente. Primero, creamos una lista sencilla con elementos de texto. Luego, creamos una lista de elementos de contacto y añadimos funcionalidad usando algunos componentes adicionales de Ignite UI for Blazor, como elIgbAvatar andIgbButton. Finalmente, cambiamos la apariencia del componente a través de las piezas CSS expuestas.