Blazor-绑定到对象集合

时间:2019-09-12 17:43:52

标签: blazor blazor-server-side

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; }
    }
}

1 个答案:

答案 0 :(得分:1)

与ASP.NET绑定非常相似,该解决方案是公开可变集合。正如我最初将Items暴露为IEnumerable<SomeItem>一样,Blazor的绑定魔术无法更新目标集合。

更改Items List<SomeItem>可以达到这个目的。