我在blazor中有一个html表,它填充了列表的循环(减少了列以显示相关代码)
mail:
host: mail.example.com
port: 587
username: support@example.com
password: ************
properties:
mail:
smtp:
auth: true
starttls:
enable: true
当我从表格中删除某行时,其他行中选择的项目也会更改。
在删除带有产品“铅笔”的行之前:
取出产品“铅笔”后:
答案 0 :(得分:2)
您的代码段不包含<tr>
元素。它必须在foreach()内部的第一层。您可以通过指定键来帮助渲染:
@foreach (var line in lines)
{
<tr @key="@line">
...
</tr>
}
我认为这可以解决消失的Pen项目,请尝试。
在旁注中,您可以简化删除过程:
@onclick="@(() => lines.Remove(line))">
// private async Task removeRow(int linenumber)
// {
// lines = lines.Where(u => lines.IndexOf(u) != linenumber).ToList());
// }