Blazor EventCallback с несколькими параметрами — дочерний и родительский компонентC#

Место общения программистов C#
Ответить
Anonymous
 Blazor EventCallback с несколькими параметрами — дочерний и родительский компонент

Сообщение Anonymous »

Мне было трудно передать более одного параметра из дочернего компонента в родительский через EventCaalback.
Итак, вот мое рабочее решение:
Дочерний компонент:
(ListItem_DC — это мой объект, который я хочу передать родительскому компоненту вместе с другим параметром bool[])

Код: Выделить всё

1 Up
1 Down
To top
To bottom

@code {
[Parameter] public ListItem_DC Item { get; set; }
[Parameter] public EventCallback OnClickMove { get; set; }

protected virtual async Task OnClickMoveHandler(ListItem_DC item, bool directionUp, bool toTheTopOrBottom)
{
await OnClickMove.InvokeAsync((item, new bool[] { directionUp, toTheTopOrBottom }));
}
}
Родительский компонент

Код: Выделить всё

...

...
@code {
private async Task MoveItemHandler((ListItem_DC item, bool[] directions) args)
{
//do somethig with args
await MoveItem(args.item, args.directions[0], args.directions[1]);
}

}

Я пробовал эти темы:
Тема 1
Тема 2
Но четкого примера нет, поэтому я добавил его здесь.
Основная причина, по которой это работает, — это то, как я звоню от родителя:

Код: Выделить всё

OnClickMove="MoveItemHandler"
и определение вызова fn в Parent:

Код: Выделить всё

private async Task MoveItemHandler((ListItem_DC item, bool[] directions) args)


Подробнее здесь: https://stackoverflow.com/questions/790 ... -component
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»