**PullToRefresh** The PullToRefresh component is used to add the pull down to refresh feature to a page or a specific element.
**Basic**:
private (int, int)[] basicItems = GenerateRandomNumbers(1, 51);
private async Task HandleOnRefreshBasic()
{
await Task.Delay(2000);
basicItems = GenerateRandomNumbers(1, 51);
_ = Task.Delay(1000).ContinueWith(_ => InvokeAsync(StateHasChanged));
}
private static (int, int)[] GenerateRandomNumbers(int min, int max)
{
var random = new Random();
return Enumerable.Range(min, max - min).Select(i => (i, random.Next(min, max))).ToArray();
}
**Custom loading**:
private (int, int)[] customItems = GenerateRandomNumbers(1, 51);
private async Task HandleOnRefreshCustom()
{
await Task.Delay(2000);
customItems = GenerateRandomNumbers(1, 51);
_ = Task.Delay(1000).ContinueWith(_ => InvokeAsync(StateHasChanged));
}
private static (int, int)[] GenerateRandomNumbers(int min, int max)
{
var random = new Random();
return Enumerable.Range(min, max - min).Select(i => (i, random.Next(min, max))).ToArray();
}
**Multiple**:
private (int, int)[] multiItems1 = GenerateRandomNumbers(0, 50);
private async Task HandleOnRefresh1()
{
await Task.Delay(2000);
multiItems1 = GenerateRandomNumbers(1, 51);
_ = Task.Delay(1000).ContinueWith(_ => InvokeAsync(StateHasChanged));
}
private (int, int)[] multiItems2 = GenerateRandomNumbers(51, 101);
private async Task HandleOnRefresh2()
{
await Task.Delay(2000);
multiItems2 = GenerateRandomNumbers(51, 101);
_ = Task.Delay(1000).ContinueWith(_ => InvokeAsync(StateHasChanged));
}
private static (int, int)[] GenerateRandomNumbers(int min, int max)
{
var random = new Random();
return Enumerable.Range(min, max - min).Select(i => (i, random.Next(min, max))).ToArray();
}
**Advanced**:
BlazorUI
private (int, int)[] advancedItems = GenerateRandomNumbers(1, 51);
private async Task HandleOnRefreshAdvanced()
{
await Task.Delay(2000);
advancedItems = GenerateRandomNumbers(1, 51);
_ = Task.Delay(1000).ContinueWith(_ => InvokeAsync(StateHasChanged));
}
private static (int, int)[] GenerateRandomNumbers(int min, int max)
{
var random = new Random();
return Enumerable.Range(min, max - min).Select(i => (i, random.Next(min, max))).ToArray();
}
**Style & Class**:
private (int, int)[] styleItems = GenerateRandomNumbers(1, 51);
private async Task HandleOnRefreshStyle()
{
await Task.Delay(2000);
styleItems = GenerateRandomNumbers(1, 51);
_ = Task.Delay(1000).ContinueWith(_ => InvokeAsync(StateHasChanged));
}
private (int, int)[] classItems = GenerateRandomNumbers(51, 101);
private async Task HandleOnRefreshClass()
{
await Task.Delay(2000);
classItems = GenerateRandomNumbers(51, 101);
_ = Task.Delay(1000).ContinueWith(_ => InvokeAsync(StateHasChanged));
}
private static (int, int)[] GenerateRandomNumbers(int min, int max)
{
var random = new Random();
return Enumerable.Range(min, max - min).Select(i => (i, random.Next(min, max))).ToArray();
}
@foreach (var (idx, i) in basicItems)
{
@(idx.ToString().PadLeft(2, '0')). Item @i
}
@foreach (var (idx, i) in customItems)
{
@(idx.ToString().PadLeft(2, '0')). Item @i
}
@foreach (var (idx, i) in multiItems1)
{
@(idx.ToString().PadLeft(2, '0')). Item @i
}
@foreach (var (idx, i) in multiItems2)
{
@(idx.ToString().PadLeft(2, '0')). Item @i
}
@foreach (var (idx, i) in advancedItems)
{
@(idx.ToString().PadLeft(2, '0')). Item @i
}
@foreach (var (idx, i) in styleItems)
{
@(idx.ToString().PadLeft(2, '0')). Item @i
}
@foreach (var (idx, i) in classItems)
{
@(idx.ToString().PadLeft(2, '0')). Item @i
}