Envuelve una región y, mientras está ocupada, atenúala, muestra un indicador de carga y bloquea los clics, para que nadie trabaje con datos obsoletos.
Por qué ayuda
- Bloquea la región
- Indicador encima
- Anuncia el estado ocupado
Dónde encaja
- Paneles en carga
- Guardado
- Actualización de datos

Ejemplo
<Stack Direction="StackDirection.Column" Spacing="2">
<Button OnClick="Load">Reload</Button>
<BusyOverlay Busy="_busy" Label="Loading orders">
<Card>
<Descriptions>
<DescriptionItem Label="Orders">@_count</DescriptionItem>
<DescriptionItem Label="Updated">@_updated</DescriptionItem>
</Descriptions>
</Card>
</BusyOverlay>
</Stack>
@code {
private bool _busy;
private int _count = 128;
private string _updated = "never";
private async Task Load()
{
_busy = true;
await Task.Delay(1800);
_count += 7;
_updated = DateTime.Now.ToString("T");
_busy = false;
}
} Un breve fragmento. Añade @using RayCraft.Blazor.Components a tu página y usa un modo de renderizado interactivo.
Incluido en RayCraft Free. Hay ejemplos que funcionan en el repositorio de GitHub (MIT); contiene código de ejemplo y demostración, no el código de la biblioteca.