首页 > 其他分享 >.NET Blazor Virtualize 虚拟滚动无效问题

.NET Blazor Virtualize 虚拟滚动无效问题

时间:2022-09-29 22:12:03浏览次数:47  
标签:flex 滚动 val Virtualize value NET Blazor

问题描述:

1.使用虚拟化组件 Virtualize 对一个列表进行虚拟化呈现,但是发现滚动到一定程度后不在动。

2.列表项通过Items提供,是固定的,不是ItemsProvider动态提供的,所以和这个没关系。

3.和是否禁止了渲染(ShouldRender=false)没有关系。

代码:

 1 <Virtualize Items="SearchValues" Context="val" OverscanCount="10">
 2                 <ItemContent>
 3                     @{
 4                         string? value = val.Key?.ToString();
 5                         value = string.IsNullOrEmpty(value) ? "空" : value;
 6                         <label class="form-check" @key="val">
 7                             <input class="form-check-input" type="checkbox"
 8                                    checked="@val.All(d=>d._preVisible)"
 9                                    @onchange="(e)=>OnCheckChanged(e.Value,val)" />
10                             <span class="form-check-label">
11                                 @value
12                                 <span class="filter-item-count">[@val.Count()]</span>
13                             </span>
14                         </label>
15                     }
16                 </ItemContent>
17                 <Placeholder>
18                     等待加载...
19                 </Placeholder>
20             </Virtualize>

原因:

父容器Display样式影响,如果为display:flex或inline-flex都会导致这个问题。

不太明白这个原理。。。但是就是这么解决方式。记录一下

标签:flex,滚动,val,Virtualize,value,NET,Blazor
From: https://www.cnblogs.com/morcom/p/16743291.html

相关文章