该问题是由Blazor WASM中使用Virtualize组件时引起的。在Virtualize组件中,request.count总是等于项目数量。
解决方法是,在Virtualize组件内部,使用Math.Min方法将请求的数量限制为实际项目数量。以下是代码示例:
@myItem
Loading more items...
private List myList = new List();
protected override async Task OnInitializedAsync()
{
myList = await LoadItems();
}
private async Task> LoadItems()
{
// load list of items from external source
}
private void OnVirtualizeScroll(WindowEventArgs args)
{
var virtualizeHeight = int.Parse(args.TargetElement.GetValue("offsetHeight").ToString());
var itemHeight = 30; // height of individual items
var minCount = Math.Min(myList.Count, (int)(virtualizeHeight / itemHeight));
// rest of code for handling scroll event
}
上一篇:BlazorWASMURL路由