Blazor WASM按钮点击并不是每次都启动



我有一个包含项目摘要的表,当我单击按钮时,我会弹出一个模式弹出窗口,其中包含有关该项目的附加信息。不幸的是,由于某种原因,Blazor不会总是弹出模态。我已经简化了代码,只做了一个Console.WriteLine("PersonId:Id"(,但我仍然看到了这个问题。

@foreach(var p in people){
<tr>
<td><button type="button" class="btn btn-outline-info" @onclick="(async()=>await ShowPerson(p))">@p.FirstName</button>
</td>
<td>@p.LastName</td>
</tr>
}

则在代码段中

List<Person> people { get; set; }
...
async Task ShowPerson(Person p){
Console.WriteLine("Click");
selectedPerson = p;
await _jsRuntime.InvokeVoidAsync("toggleModal", "personModal");
}

然后在我的js文件中,toggleModal只执行$("#" + id).modal('toggle');

现在,当我观看控制台时,我可以点击一个按钮,控制台中可能什么都没有显示,模态也不会打开。或者单击显示在控制台中,并弹出模式。有人看到这一点吗,或者从上面的代码中看到了什么明显的东西吗?

感谢

对于其他遇到此问题并像我一样失明的人。请验证您的@onclick是否在实际按钮上,而不是在内的跨度上

错误:

<button class="btn btn-success">
<span class="fa fa-bug" @onclick="(async()=>await foo(x))"></span>
</button>

好:

<button class="btn btn-success" @onclick="(async()=>await foo(x))">
<span class="fa fa-thumbs-up"></span>
</button>

老实说,我有点惊讶它没有开火。你几乎可以把@onclick放在任何东西上。

相关内容

  • 没有找到相关文章

最新更新