【发布时间】:2021-03-18 21:55:11
【问题描述】:
我有一个带有 EventCallBack 参数的 blazor 组件,它利用了允许多个参数的新结构格式
[Parameter] public EventCallback<(EmployeeShiftDay, DateTime, DateTime)> NewDayScrolledIntoView { get; set; }
eventcallback 在子进程中正常调用
await NewDayScrolledIntoView.InvokeAsync(p1, p2, p3);
在我的主机页面中,我有相应的方法来处理调用
private void NewDayInView(EmployeeShiftDay dayInView, DateTime weekStart, DateTime weekEnd)
{
...
}
如何在宿主组件中添加这个 EventCallBack 的标记 - 我当然需要 3 个参数而不仅仅是一个
<ShiftCardScroller NewDayScrolledIntoView="@((args) => NewDayInView(args))" ></ShiftCardScroller>
【问题讨论】:
-
临时解决方案是使用 @ref 引用父主机中的组件并访问子主机中的公共属性,但更愿意通过 EventCallBack args 发送
-
你不应该那样做。现在它只是一个警告。将来会出错。
-
同意一个不好的方法 - 已经像你一样实施了,@Brian Parker 建议谢谢!
标签: blazor webassembly .net-5