@page "/"
<h1>Tab Issue</h1>
Data Count: @View.Data.Count
<button @onclick='(() => Add($"Tab {(View.Data.Count + 1)}"))'>Add Tab</button>
<TabControl>
@foreach (var data in View.Data)
{
<TabPage Text='@data'>
@data <button @onclick="(() => Remove(data))">Remove</button>
</TabPage>
}
</TabControl>
@code{
public class ViewModel{
public List<string> Data = new List<string>{
"Tab 1","Tab 2","Tab 3"
};
}
public ViewModel View { get; set; }
protected override async Task OnInitializedAsync()
{
View = new ViewModel();
}
public void Add(string data)
{
View.Data.Add(data);
StateHasChanged();
}
public void Remove(string data)
{
View.Data.Remove(data);
StateHasChanged();
}
}