**PullToRefresh** The PullToRefresh component is used to add the pull down to refresh feature to a page or a specific element. **Basic**:
@foreach (var (idx, i) in basicItems) {
@(idx.ToString().PadLeft(2, '0')). Item @i
}
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**:
@foreach (var (idx, i) in customItems) {
@(idx.ToString().PadLeft(2, '0')). Item @i
}
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**:
@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
}
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
@foreach (var (idx, i) in advancedItems) {
@(idx.ToString().PadLeft(2, '0')). Item @i
}
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**:
@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
}
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(); }