Blazor预览版v9
将EditForm
绑定到对象集合需要什么?当我将EditForm
设置为对象集合时,暴露并绑定了它们的bool
属性,当您单击复选框时,它们将立即取消选中。
@page "/sompage"
<EditForm Model="MyModel">
@foreach(var item in MyModel.Items)
{
<label>
<InputCheckbox @bind-Value="item.BoolProperty" />
@item.Text</label>
}
</EditForm>
@code
{
public class SomeModel
{
public IEnumerable<SomeItem> Items { get;set; } = new List<SomeItem>();
}
public class SomeItem
{
public string Text { get;set; }
public bool BoolProperty { get;set; }
}
}
答案 0 :(得分:1)
与ASP.NET绑定非常相似,该解决方案是公开可变集合。正如我最初将Items
暴露为IEnumerable<SomeItem>
一样,Blazor的绑定魔术无法更新目标集合。
更改Items
List<SomeItem>
可以达到这个目的。