【发布时间】:2021-11-23 18:21:22
【问题描述】:
我正在使用 blazor 学习 EventCallBack,但我想知道
- 有没有办法让我的返回方法在父端返回第二个参数。我想知道它来自的 rowID
父代码
@foreach (var rw in pg.rows)
{
@if (rw.rowDef == 1)
{
@if (rw.widgetsSection1.Count == 0)
{
<AddWidgetToColumnComponent rowID="rw.rowID" onAddingWidget="AddWidgetToRow"></AddWidgetToColumnComponent>
}
}
}
}
@code{
...
private void AddWidgetToRow(GenericWidgets evnt)
{
//bool confirmed = await JsRuntime.InvokeAsync<bool>("confirm", "Are you sure?");
var row = pg.rows.Where(x => x.rowID == 3).FirstOrDefault();
//row.addWidgetSection1(widgets);
}
}
子组件 AddWidgetToColumnComponent
<button class="btn btn-info" @onclick="@addComponent">Ajouter</button>
@code {
[Parameter]
public int rowID { get; set; }
[Parameter]
public EventCallback<GenericWidgets> onAddingWidget { get; set; }
public async void addComponent()
{
GenericWidgets widget = new GenericWidgets();
await onAddingWidget.InvokeAsync(widget);
}
如果可能的话,我不确定如何完成此操作(调试器给我错误)。唯一的另一种方法是更改我的通用类以在其中添加 rowID 属性。但是还有其他方法吗?
换行(我想要的)
<AddWidgetToColumnComponent rowID="rw.rowID" onAddingWidget="AddWidgetToRow(rw.rowID)"></AddWidgetToColumnComponent>
还有这一行
private void AddWidgetToRow(GenericWidgets evnt, int rowID)
【问题讨论】:
-
这个问题有点难理解。对于问题 1,您是在询问调试还是让回调在父级上触发?对于问题 2,您是在问 AddWidgetToRow 是否可以接收附加参数?您在最后提到您更改了一些行,这也有点令人困惑。我应该尝试理解哪个版本?如果您尽可能清楚地说明这一点,您将获得更好的答案。 :)
-
对于第 1 部分,要向父母开火,我会说,我提到的这些行是我打算做的,但是它失败了。最后的那行是我想要做的。如果有任何意义
标签: c# asp.net-core blazor blazor-server-side