DevKit.Shared.RazorComponent
2025.7.13
dotnet add package DevKit.Shared.RazorComponent --version 2025.7.13
NuGet\Install-Package DevKit.Shared.RazorComponent -Version 2025.7.13
<PackageReference Include="DevKit.Shared.RazorComponent" Version="2025.7.13" />
<PackageVersion Include="DevKit.Shared.RazorComponent" Version="2025.7.13" />
<PackageReference Include="DevKit.Shared.RazorComponent" />
paket add DevKit.Shared.RazorComponent --version 2025.7.13
#r "nuget: DevKit.Shared.RazorComponent, 2025.7.13"
#:package DevKit.Shared.RazorComponent@2025.7.13
#addin nuget:?package=DevKit.Shared.RazorComponent&version=2025.7.13
#tool nuget:?package=DevKit.Shared.RazorComponent&version=2025.7.13
DotNet.Shared.RazorComponent
Una biblioteca de componentes Razor compartidos para aplicaciones Blazor, que proporciona componentes reutilizables y personalizables para la interfaz de usuario.
Componentes Principales
Autocomplete<T>
- Componente de autocompletado genérico
- Características:
- Búsqueda asíncrona
- Debounce para optimizar búsquedas
- Mínimo de caracteres configurable
- Personalización del formato de los items
- Evento de selección
- Manejo de estados
ComboBox<T>
- Componente de selección múltiple genérico
- Características:
- Filtro en tiempo real
- Selección de valor
- Manejo de eventos
- Personalización de ID y etiquetas
- Mantenimiento de estado
Características Comunes
- Tipos genéricos para flexibilidad
- Eventos y callbacks
- Manejo de estados
- Validación integrada
- Soporte para filtros
- Documentación completa
Instalación
El paquete se puede instalar usando NuGet:
dotnet add package DotNet.Shared.RazorComponent
También está disponible en el Visual Studio Package Manager:
Install-Package DotNet.Shared.RazorComponent
Uso Básico
Autocomplete
@page "/autocomplete"
<Autocomplete @bind-Value="selectedItem"
SearchHandler="SearchHandler"
DisplayItem="@(item => item.Name)"
MinCharacters="2"
DebounceInterval="300"
OnSelected="OnItemSelected" />
@code {
private Item selectedItem;
private async Task<IEnumerable<Item>> SearchHandler(string searchTerm, CancellationToken token)
{
return await _service.SearchItems(searchTerm, token);
}
private void OnItemSelected(Item item)
{
// Manejar selección
}
}
ComboBox
@page "/combobox"
<ComboBox @bind-Value="selectedValue"
Items="options"
Label="Seleccione una opción"
Placeholder="Elegir..."
OnValueChanged="OnValueChanged" />
@code {
private string selectedValue;
private List<string> options = new List<string> { "Opción 1", "Opción 2", "Opción 3" };
private async Task OnValueChanged(string value)
{
// Manejar cambio de valor
}
}
Parámetros de Autocomplete
SearchHandler
: Función que maneja la búsquedaDisplayItem
: Función que formatea los itemsMinCharacters
: Mínimo de caracteres para mostrar sugerenciasDebounceInterval
: Tiempo de espera antes de realizar la búsquedaOnSelected
: Evento cuando se selecciona un itemClearable
: Booleano que indica si se muestra el botón para limpiar la búsqueda (por defecto: true)Placeholder
: Texto de marcador de posición para el campo de búsquedaClass
: Clases CSS adicionales para personalizar el componente
Personalización de Estilos
El componente Autocomplete incluye los siguientes estilos CSS que pueden ser sobrescritos:
/* Contenedor principal */
.autocomplete-container {
overflow: visible;
}
/* Menú desplegable */
.autocomplete-container .dropdown-menu {
z-index: 3000 !important;
}
/* Ícono de búsqueda */
.input-icon {
font-size: 1.2rem;
pointer-events: none;
}
/* Botón de limpiar */
.btn-clear {
background: transparent;
border: none;
font-size: 1.25rem;
line-height: 1;
color: #999;
cursor: pointer;
}
/* Ítem activo en el menú desplegable */
.dropdown-item.active {
background-color: #0d6efd;
color: white;
}
Puedes sobrescribir cualquiera de estas clases en tu propio archivo CSS para personalizar la apariencia del componente.
Parámetros de ComboBox
Items
: Lista de items disponiblesSelectedValue
: Valor seleccionadoLabel
: Etiqueta del componentePlaceholder
: Texto de ayudaOnValueChanged
: Evento cuando cambia el valor
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net9.0
- Microsoft.AspNetCore.Components.Web (>= 9.0.6)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.