如果你正在使用 Blazor WebAssembly,那么可能会遇到一个奇怪的问题,当你尝试使用复选框来筛选一个文本列表时,选择框不会呈现正确的选中状态。这是因为 Blazor 双向绑定中的“value”属性指向的是字符串类型,而非布尔类型。因此,当复选框的状态改变时,应该将“value”属性映射到一个布尔值类型的变量中。
以下是一个解决方案的示例代码:
@foreach (var item in items.Where(x => x.IsSelected == true))
{
@item.Text
}
@foreach (var item in items)
{
}
@code {
private List items = new List()
{
new ItemModel() { Text = "Item 1", IsSelected = true },
new ItemModel() { Text = "Item 2", IsSelected = false },
new ItemModel() { Text = "Item 3", IsSelected = true }
};
private class ItemModel
{
public string Text { get; set; }
public bool IsSelected { get;set; }
}
}
上一篇:Blazor复选框交互缓慢