Blazor WebAssembly로 간단한 핀업 보드를 구현하고 있습니다. X 버튼으로 카드를 제거 할 때 항상 제거 된 목록의 마지막 요소입니다.
@foreach (var item in _cards)
{
<div class="card-title">
<input type="text" id="@item.TitleElementId" value="@item.Title" />
<button class="btn-remove" @onclick="() => RemoveCard(item)">X</button>
</div>
}
<button class="btn-add" @onclick="AddNewCard">+</button>
@code {
private List<Card> _cards = new List<Card>();
private void AddNewCard()
{
_cards.Add(new Card());
}
private void RemoveCard(Card card)
{
_cards.Remove(card);
// Also tried _cards.RemoveAll(i => i.TitleElementId == card.TitleElementId);
}
}
카드 내부의 일부 입력 값을 수정 한 후에 만 발생한다는 것을 알았습니다.
값 바인딩에 문제가있는 것으로 밝혀졌습니다. @bind-""
기본 html 대신 Blazor를 사용해야 value=""
합니다. 불행히도 나는 이것이 왜 일어나는지 정확히 모릅니다.
그래서 대신
<input type="text" value="item.Title"/>
나는 변했다
<input type="text" @bind="item.Title"/>
모든 것이 예상대로 작동합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다