所以我目前几乎有一个下拉列表(用于过滤目的),您可以从列表中选择一个水果,该列表几乎是一个包含 FruitDtos 的列表,它工作得非常好。但是,我想添加一个“全部”选项,但我不确定如何做到这一点。
在 .razor 文件中看起来像这样:
<Addon AddonType="AddonType.Body">
<Select TValue="int" SelectedValue="@SelectedListValue" SelectedValueChanged="@OnFruitChanged">
@foreach (FruitDto item in _fruitsList)
{
<SelectItem Disabled="@(item.FruitId == 0)" Value="@item.FruitId">@item.Name</SelectItem>
}
</Select>
</Addon>
所以 _fruitsList 包含所有 FruitDtos。有没有办法让用户一次选择所有这些?Tbh,我最想要这个选项,因为现在您需要刷新页面才能“取消选择”/删除过滤器。
int SelectedListValue { get; set; }
[Parameter] public FruitDto Fruit { get; set; }
private async Task OnFruitChanged(int newValue)
{
SelectedListValue = newValue;
Fruit = _fruitsList.Find(s => s.FruitId == newValue);
await FruitChanged.InvokeAsync(Fruit);
StateHasChanged();
}
FruitDto 只包含一个字符串 Name 和 int FruitId。