javascript - Blazor Web 程序集中的 html 表中的动态行添加和删除
问题描述
我正在开发一个 blazor webassembly 应用程序,我有这个功能来添加或删除 html 行。我们可以在 Blazor 中轻松完成吗?或者我们必须使用javascript?提前致谢
解决方案
<table style="width:100%">
<tr>
<th>Name</th>
<th>Value</th>
<th>Command</th>
</tr>
@foreach(var model in models)
{
<tr>
<td>@model.Name</td>
<td>@model.Value</td>
<td>
<button @onclick="() => models.Remove(model)">
X
</button>
</td>
</tr>
}
</table>
<button @onclick="@(() => models.Add(new Model(){Name = nameTextField, Value = Int32.Parse(valueTextField)}))">
New value
</button>
<div>
Name: <input @bind="@nameTextField" @oninput="(e)=> { nameTextField = e.Value ==null? string.Empty:(string)e.Value; }" />
</div>
<div>
Value: <input type="number" @bind="@valueTextField" @oninput="(e)=> { valueTextField = e.Value ==null? string.Empty:(string)e.Value; }" />
</div>
@code {
string nameTextField = "";
string valueTextField = "";
List<Model> models = new()
{
new Model(){Name="Row1",Value = 1},
new Model(){Name="Row2",Value = 2}
};
}
模型.cs:
public class Model
{
public string Name {get;set;}
public int Value {get;set;}
}
工作演示。
推荐阅读
- jquery-ui - 无法将连接列表中的项目添加到可排序列表
- unity3d - 在 2d 对象统一后渲染 3d 对象
- c# - ArgumentOutOfRangeException 但参数没有超出范围
- php - 在哪里更改 ubuntu 的 php-fpm.conf 中的监听端口?
- kubernetes - 如何向 Kubernetes 控制器管理器添加标志
- sql-server - 从数据流中的数据库中获取列的最大值
- sql-server-2014 - 如何在sql server中获取数据库的两个表中的主外键关系图
- ios - 在令牌Swift 4中检索值键后在应用程序中显示lastName和name
- itext - .net 中 iText 的嵌套表问题
- angularjs - 如何使用 AngularJS 实现智能分块引导轮播?