Já jsem učení o EventCallBack s blazor, ale chtěl jsem vědět,
- Existuje způsob, jak můj návrat metoda vrátí druhý argument na mateřské straně. Chtěl bych vědět, rowID, že to přišlo z
Rodič Kód
@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);
}
}
Dítě Součásti 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);
}
Nejsem si jistý, jak toho dosáhnout, pokud je to možné (debugger mi chyba). Jediný další způsob, jak by bylo změnit generické třídy přidat rowID atribut. Ale je tam jiný způsob?
Změna linky ( co bych ráda, aby to bylo)
<AddWidgetToColumnComponent rowID="rw.rowID" onAddingWidget="AddWidgetToRow(rw.rowID)"></AddWidgetToColumnComponent>
a tento řádek
private void AddWidgetToRow(GenericWidgets evnt, int rowID)