【发布时间】:2022-06-14 21:35:47
【问题描述】:
我正在创建一个带有粘性标题的分组列表。真的很想用它来虚拟化。但是当我设置固定高度并在顶层table-content-container 上溢出时,虚拟化不起作用。虚拟化仅在固定高度和溢出设置为group-body-container 时有效。
这是我得到的 html 不起作用:
<div class="table-container">
<div class="table-header grid-row-template">
<div class="header-item">Id</div>
<div class="header-item">Name</div>
</div>
<div class="table-content-container" style="height:50vh; overflow-y:scroll">
@foreach (DataGroup group in dataGroups)
{
<div class="group-header">
<MudToggleIconButton
@bind-Toggled="@group.IsExpanded"
Icon="@Icons.Filled.ExpandMore"
Color="Color.Secondary"
ToggledIcon="@Icons.Filled.ExpandLess"
Size="Size.Small"
ToggledSize="Size.Small"/>
<MudText Color="@Color.Primary">@group.GroupName</MudText>
</div>
@if (group.IsExpanded)
{
<div class="group-body-container">
<Virtualize Items="group.DataRow" Context="row" ItemSize="20">
<div class="grid-row-template data-row">
<div class="data-item">@row.Id</div>
<div class="data-item">@row.Name</div>
</div>
</Virtualize>
</div>
}
}
</div>
</div>
虚拟化工作在这里:https://try.mudblazor.com/snippet/GEcwagOjgXcmYqFL
这里不起作用:https://try.mudblazor.com/snippet/GawcYUuNUXbCiTTY
目标是让虚拟化与第二个示例一起工作,当滚动时,只有顶部标题会“粘”。
编辑: 这是我想要实现的目标的记录,但可以使用虚拟化 (https://try.mudblazor.com/snippet/GawcYUuNUXbCiTTY):
这甚至可以通过 blazors 虚拟化组件实现吗?
【问题讨论】: