c# - Blazor 中的程序元素引用
问题描述
我正在尝试制作一个任务显示页面,它将每个任务摘要显示到表格的一行中,如果您单击其中一行,它会展开显示任务详细信息的行。
因为任务的数量不是静态的,所以我必须使用程序逻辑来显示所有任务(它只是进入一个for
循环,没什么太壮观的。)
但是,由于程序逻辑的原因,当我的行通过一个循环时,我不能真正为它制作一些静态标识符,我需要知道我点击了哪一行才能知道要扩展什么。
我应该怎么做才能确定我点击了哪一行?我接受任何解决方案,无论是仅使用 C# 还是使用 JS Interop。
解决方案
将对象传递给onclick
事件处理程序
@foreach(var item in items)
{
<tr @onclick="() => OnRowClicked(item)">
...
</tr>
}
@code {
private void OnRowClicked(Item item)
{
Expand(item);
}
}
推荐阅读
- python - 从字典中制作优先队列
- cmake - CMake 导入的目标包括不存在的路径
- html - 如何上传带图片的网页?
- flask - 如何将 flask_sqlalchemy orm 中的数据添加到 WTForm FieldList?
- sql - 快速 SQL 返回多个列条件对的 AVG
- java - 如何在我的控制器 Spring Boot 中的输入表单中获取一个值
- c++ - 如何从 std::string 读取 std::uint32_t 并将其保存回 C++
- sql - 我需要在 2 个不同的列中对每个 DEP 之间的销售和 QTy 进行总和
- ruby - 'require': 无法加载这样的文件 -- pry-byebug (LoadError)
- python-3.x - 如何在函数中写入两个可变日期?