【发布时间】:2021-09-13 09:37:08
【问题描述】:
我正在使用带有 Blazor 服务器应用的 Razor 组件。该应用程序轮询服务器上的警报消息。 服务器可能会发回几条消息,我会循环这些消息。 div 上的类有一个“显示”和“隐藏”,它负责隐藏元素。
我遇到的问题是我希望能够关闭每个 alertmessage 而不是全部 - 这发生在下面的简化代码中:
--snip
@if(alert.valid == true){
@foreach(var alert in alerts){
@if(alert.type == "alert")
<div id="alertmessage" class="@show">
<button type="button" @onclick="@show">Hide this element</button>
</div>
}
}
@code{
private string value { get; set;} = "show";
private void Show() {
value = "hidden";
}
}
根据上面的示例,如果有多个警报,方法 Show() 将关闭所有框,它会产生 x 计数 <div id="alertmessage" 我明白了,但是有没有办法像抓住那个特定元素alert.id 什么的?感谢所有反馈。
谢谢。
【问题讨论】:
标签: c# event-handling dom-events blazor blazor-server-side