首页 > 其他 > 详细

onclick函数带参数

时间:2022-05-27 20:42:58      阅读:5      评论:0      收藏:0      [点我收藏+]

问题

我想将int i传递给每个列表项的按钮onclick函数.我希望"clickItem"函数的对应列表项将收到0..2.但是事实证明,它总是接受3作为参数.似乎在渲染for循环时未评估clickItem(i)中的变量i.我尝试将其更改为"clickItem(@i)",但仍然相同.我该怎么办? (我正在使用blazor服务器端,.net core 3预览5)

1 @for (int i = 0; i < 3; i++)
2         {
3             <li> item @i <button onclick=@(() => clickItem(i))>Click</button> </li>
4         }

解决方案

这是经典的游戏,但在Blazor的上下文中有点新.

您需要进行复制,否则lambda会"捕获"循环变量.捕获副本就可以了.

1 @for (int i = 0; i < 3; i++)
2 {
3     int copy = i;
4     <li> item @i <button onclick=@(() =>     clickItem(copy))>Click</button> </li>
5 }

 

onclick函数带参数

原文:https://www.cnblogs.com/stweily/p/15355988.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!