Этот код, похоже, не удаляет mov ie из пользовательского интерфейса. Модель действительно меняется. Пользовательский интерфейс тоже изменится, только если я явно назову StateHasChanged()
.
Код:
@code{
string name = "Guy";
public bool display { get; set; } = false;
[Parameter] public List<Movie> Movies { get; set; }
private async void Delete(Movie movie)
{
bool confirm = await js.InvokeAsync<bool>("confirm", "Sure?");
if (confirm == true)
{
Movies.Remove(movie);
Console.WriteLine(Movies.Count);
//StateHasChanged();
}
}
}
И пользовательский интерфейс очень прост:
@inject IJSRuntime js
<h1>Hello, world!</h1>
Welcome ,@StringsHelpers.toUpper(name) , to your new app.
<SurveyPrompt Title="How is Blazor working for you?" />
<div>
<h3>Movie</h3>
<input type="checkbox" @bind="display" />
<GenericList List="Movies">
<ElementTemplate>
<IndMovie IsDisplayed="display" Movie="context" Delete="Delete"></IndMovie>
</ElementTemplate>
</GenericList>
<div>
@foreach (var item in Movies)
{
@item.Title
}
</div>
<br />
</div>