Blazor 中 RadzenDataList 中 RadzenTextBox 的 2 种绑定方式

2 way binding on RadzenTextBox in a RadzenDataList in Blazor

创建带有文本框的可编辑项目列表。 所以我使用了 RadzenDataList,将它绑定到一个字符串列表。 然后我在模板中使用了 RazenTextBox

<RadzenDataList Data="@_retrospectiveBoard.WhatWentWell"  TItem="string">
    <Template Context="item">
        <RadzenCard>
            <RadzenTextBox @bind-Value="@item"/>
        </RadzenCard>
    </Template>
</RadzenDataList>

RadzenCard只是为了好看

但是,我得到了一个文本框列表,但每当我将焦点更改到另一个文本框时,内容都会重置。 所以 2 方式绑定没有按预期工作。

这可能吗?我可以通过两种方式绑定到模板的上下文,还是必须拦截文本框事件并更新其中的数据?

当我反思这个问题时,我认为字符串可能行不通,因为从技术上讲,不能修改字符串,因为它是不可变的。 所以我将字符串包装到一个包含字符串的对象中,我们开始吧!:

<RadzenDataList Data="@_retrospectiveBoard.WhatWentWell"  TItem="RetrospectiveDataItem">
    <Template Context="item">
        <RadzenTextBox @bind-Value="@item.Text"/>
    </Template>
</RadzenDataList>