@page "/"
<button class="awe-btn" @onclick="() => {
var model = new MyModel();
model.Id = id++;
items.Insert(0, new ItemState{ Model = model, EditContext = new EditContext(model)});
}">
add
</button>
@foreach (var item in items)
{
<p>
@item.Model.Id
@if (item.EditContext != null)
{
<CascadingValue Value="item.EditContext">
<InputText @bind-Value="item.Model.Name" />
</CascadingValue>
}
else
{
@item.Model.Name
<button class="awe-btn"
@onclick="() => {
item.EditContext = new EditContext(item.Model);
}"
>edit</button>
}
</p>
}
@code{
private int id = 200;
private List<ItemState> items = new List<ItemState>()
{
new ItemState { Model = new MyModel { Name = "item 1", Id = 100 } },
new ItemState { Model = new MyModel { Name = "item 2", Id = 101 } },
new ItemState { Model = new MyModel { Name = "item 3", Id = 102 } }
};
}