@namespace LANCommander.UI.Components @code { [Parameter] public EventCallback OnSendMessage { get; set; } TextArea _textArea; string _contents; bool _sendingMessage; async Task SendMessage(PressEnterEventArgs args) { if (!args.ShiftKey) { args.PreventLineBreak(); _sendingMessage = true; if (OnSendMessage.HasDelegate) await OnSendMessage.InvokeAsync(_contents); _contents = String.Empty; _sendingMessage = false; await Task.Yield(); await InvokeAsync(StateHasChanged); } } }