Blazor ComboBox Features
El componente ComboBox Ignite UI for Blazor expone varias características, como el filtrado y la agrupación.
Combobox Features Example
La siguiente demostración muestra algunas funciones ComboBox
que se habilitan/deshabilitan en tiempo de ejecución:
Like this sample? Get access to our complete Ignite UI for Blazor toolkit and start building your own apps in minutes. Download it for free.
En nuestro ejemplo vamos a utilizar el componente IgbSwitch
, por lo que debemos registrarlo junto con el combo:
// in Program.cs file
builder.Services.AddIgniteUIBlazor(typeof(IgbComboModule));
builder.Services.AddIgniteUIBlazor(typeof(IgbSwitchModule));
razor
También deberá vincular un archivo CSS adicional para aplicar el estilo al IgbSwitch
componente. Lo siguiente debe colocarse en el archivo wwwroot/index.html de un proyecto de Blazor Web Assembly o en el archivo Pages/_Host.cshtml de un proyecto de Blazor Server:
<link href="_content/IgniteUI.Blazor/themes/light/bootstrap.css" rel="stylesheet" />
razor
<IgbCombo
Label="Cities"
Placeholder="Pick a city"
Data="Data"
ValueKey="Id"
DisplayKey="Name"
DisableFiltering="@DisableFiltering"
CaseSensitiveIcon="@CaseSensitiveIcon"
GroupKey="@Group"
Disabled="@Disabled">
</IgbCombo>
<IgbSwitch Change="@OnDisableFilteringClick">Disable Filtering</IgbSwitch>
<IgbSwitch Change="@OnCaseSensitiveClick" Disabled="@DisableFiltering">Show Case-sensitive Icon</IgbSwitch>
<IgbSwitch Change="@OnGroupClick">Enable Grouping</IgbSwitch>
<IgbSwitch Change="@OnDisableClick">Disable Combo</IgbSwitch>
@code {
private bool DisableFiltering = false;
private bool CaseSensitiveIcon = false;
private bool Disabled = false;
public void OnDisableFilteringClick(IgbComponentBoolValueChangedEventArgs e) {
IgbSwitch sw = e.Parent as IgbSwitch;
this.DisableFiltering = sw.Checked;
}
public void OnCaseSensitiveClick(IgbComponentBoolValueChangedEventArgs e) {
IgbSwitch sw = e.Parent as IgbSwitch;
this.CaseSensitiveIcon = sw.Checked;
}
public void OnDisableClick(IgbComponentBoolValueChangedEventArgs e) {
IgbSwitch sw = e.Parent as IgbSwitch;
this.Disabled = sw.Checked;
}
}
razor
Tenga en cuenta que la agrupación se habilita/deshabilita configurando la propiedad GroupKey
en un campo de fuente de datos correspondiente:
@code {
private string Group = "";
public void OnGroupClick(IgbComponentBoolValueChangedEventArgs e) {
IgbSwitch sw = e.Parent as IgbSwitch;
this.Group = sw.Checked ? "Country" : "";
}
}
razor
Características
Filtración
De forma predeterminada, el filtrado en ComboBox está habilitado. Se puede desactivar configurando la propiedad DisableFiltering
.
Las opciones de filtrado se pueden mejorar aún más habilitando la búsqueda entre mayúsculas y minúsculas. El icono que distingue entre mayúsculas y minúsculas se puede activar mediante la propiedad CaseSensitiveIcon
para que los usuarios finales puedan controlar la distinción entre mayúsculas y minúsculas.
<IgbCombo DisableFiltering="true" CaseSensitiveIcon="true" />
razor
Opciones de filtrado
El componente Ignite UI for Blazor ComboBox
expone una propiedad de filtrado más que permite pasar la configuración de ambas FilterKey
CaseSensitive
opciones. Indica FilterKey
qué campo de origen de datos se debe utilizar para filtrar la lista de opciones. La CaseSensitive
opción indica si el filtrado debe distinguir entre mayúsculas y minúsculas o no.
El siguiente fragmento de código muestra cómo filtrar las ciudades de nuestra fuente de datos por país en lugar de por nombre. También estamos haciendo que el filtrado distinga entre mayúsculas y minúsculas de forma predeterminada:
Grouping
Al definir una opción GroupKey
se agruparán los elementos, según la clave proporcionada:
<IgbCombo GroupKey="region" />
razor
The GroupKey property will only have effect if your data source consists of complex objects.
Dirección de clasificación
El componente ComboBox también expone una opción para establecer si los grupos deben ordenarse en orden ascendente o descendente. De forma predeterminada, el orden de clasificación es ascendente:
<IgbCombo GroupSorting="desc" />
razor
Label
La etiqueta IgbCombo
se puede configurar fácilmente usando la propiedad Label
:
<IgbCombo Label="Cities" />
razor
Placeholder
Se puede especificar un texto de marcador de posición tanto para la entrada del componente ComboBox como para la entrada de búsqueda ubicada dentro del menú desplegable:
<IgbCombo Placeholder="Pick a city" PlaceholderSearch="Search for a city" />
razor
Autofocus
Si desea que su ComboBox se centre automáticamente en la carga de la página, puede utilizar el siguiente código:
<IgbCombo Autofocus="true" />
razor
Search Input Focus
La entrada de búsqueda de ComboBox está enfocada de forma predeterminada. Para deshabilitar esta función y mover el foco a la lista de opciones, use la propiedad AutofocusList
como se muestra a continuación:
<IgbCombo AutofocusList="true" />
razor
Required
El ComboBox se puede marcar como requerido estableciendo la propiedad requerida.
<IgbCombo Required="true" />
razor
Disable ComboBox
Puede desactivar el ComboBox utilizando la propiedad Disabled
:
<IgbCombo Disabled="true" />
razor