I have a component defined as such
@using BlazorState
@using Common.Extensions
@using TPL.Client.Core.Utilities
@inject Utilities Utilities
@inherits BlazorStateComponent
<div class="component">
<MudButtonGroup Color="Color.Default" Variant="Variant.Text" Size="IconSize">
@foreach (Common.Constants.Type.Types item in types)
{
<MudTooltip Text="@(item.GetAttribute<Common.Constants.Type.DescriptorAttribute>().QuestionName)">
<MudToggleIconButton Icon="@(Utilities.GetTypeIcon(item))" ToggledIcon="@(Utilities.GetTypeIcon(item))" Color="@Color.Default" ToggledColor="@Color.Secondary" ToggledChanged="@(async (bool x) => SelectedTypeChangedCallback.InvokeAsync((x, item)))" />
</MudTooltip>
}
</MudButtonGroup>
</div>
@code {
Common.Constants.Type.Types[] types;
[Parameter] public Common.Constants.RecordType.Types RecordType { get; set; }
[Parameter] public EventCallback SelectedTypeChangedCallback { get; set; }
[Parameter] public Size IconSize { get; set; } = Size.Small;
protected override async Task OnParametersSetAsync()
{
types = "some logic";
}
}
I then use this component as such
<TypeToggler RecordType="Common.Constants.RecordType.Types.BASE_QUESTION" SelectedTypeChangedCallback="@SelectedTypeChanged"/>
In the same component as the line above I have
async Task SelectedTypeChanged(bool chck, Common.Constants.Type.Types type)
{
if (chck) selectedTypes |= type; else selectedTypes &= ~type;
await LoadQuestions(true);
}
I get Cannot convert from method group to EventCallback
on SelectedTypeChangedCallback="@SelectedTypeChanged"
What am I doing wrong?
Please define EventCallback like this
EventCallback<(int, Common.Constants.Type.Types)>
And
SelectedTypeChangedCallback=@(e=> SelectedTypeChanged(e.Item1, e.Item2))