问题描述:
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