微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何检测对 MudBlazor 中表格行的双击?

如何解决如何检测对 MudBlazor 中表格行的双击?

我正在使用 MudBlazor,我想检测对单个表格行的双击并对事件做出反应。但是,API of the table. 中没有列出双击。使用 OnRowClick 回调很容易实现单击(另请参阅 here on SO)。双击没有等效项。

我尝试将 Blazor 事件 ondblclick

一起使用
<MudTd @ondblclick="OnorderDbClicked">
    // ...
<MudTd/>

我有两个问题:

  1. 我可以捕捉到双击。但我无法让它知道被点击的行(对此我有一个解决方法)。
  2. 另外,我必须添加到每个单元格,因为 <RowTemplate/> 元素不会接受它。

我只有问题1的拐杖:将变量MyOrderVM MyItem绑定到表的SelectedItem项参数并在双击调用方法中访问对象(因为{{ 3}} 选择项目)。

我没有做过很多测试,但似乎这可行,但没有更好的解决方案吗?还是我太担心副作用?

解决方法

正如您所说,目前没有像 OnRowClick 那样的开箱即用方式进行双击。但是,您可以随意创建一个 issue in the repo

作为一种解决方法,您可以使用您的方法 1 稍作调整,以阻止点击事件传播到 MudTable。我认为这种方式比绕过 SelectedItem

更容易理解
<MudTd>
  // the click is handled by the div and not bubbling up to the MudTd
  <div @onclick="@EmptyCallback" @onclick:stopPropagation="true" 
              @ondblclick="@( (x) => DoSomething(context))" >
     // ...
  </div>
<MudTd/>

这是一个 MudBlazor Playground 来显示它。

免责声明:

我是 MudBlazor 的贡献者

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。