stavroskasidis / BlazorContextMenu

A context menu component for Blazor !
MIT License
532 stars 58 forks source link

associate OnClick to a task made the component wait for the task is finish to close itself #145

Open julienGrd opened 11 months ago

julienGrd commented 11 months ago

Hello, i notice when i associate the OnClick to an async Task, the component wil disappear only when the task is finish, which make a very strange behavior to the user.

for example

<ContextMenuTrigger MenuId="indexMenu">
    <p>Right-click on this text to show a basic context menu sample</p>
</ContextMenuTrigger>

<ContextMenu Id="indexMenu">
    <Item OnClick="@OnClick">Item 1</Item>
</ContextMenu>

@functions{
    async Task OnClick()
   {
        await Task.Delay(30000);
   }
}

With this example, the context menu will disappear after 30s. The behavior is really strange, we have impression we click on nothing

Fot now the only workaround i have is to not await my event ( OnClick="@(async args => OnClick())" which generate warning in my solution.

There is a way to close it directly on the click ? thanks ?

Said1996 commented 6 months ago

I had another bug but both needs one fix ... I have a situation where there is a button in context menu that remove item in a list ... if the item gets removed the context menu become opened on the next item (and no click around will remove that context menu) ... I guess he just need to close the context menu once any Action button is clicked.