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:

    EXAMPLE
    MODULES
    DATA
    RAZOR
    CSS

    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

    Additional Resources