Я подумал, что это было интересно, поэтому я взглянул на исходный код класса InputText
Blazor на ASP. NET Базовый проект GitHub здесь:
https://github.com/dotnet/aspnetcore/blob/master/src/Components/Web/src/Forms/InputText.cs
Вы заметите, что существует только один обработчик событий, и он относится к событию onchange
, вызываемому браузером, когда пользователь изменяет значение в текстовом поле.
builder.AddAttribute(4, "onchange", EventCallback.Factory.CreateBinder<string>(this, __value => CurrentValueAsString = __value, CurrentValueAsString));
Событие, на которое вы хотите подписаться, - onblur
, которое возникает, когда пользователь щелкает или вкладывает вне поля независимо от того, изменили ли они его или нет, и это не было сделано.
Я не мог его нет нигде в InputText или InputBase (из которого происходит InputText), но он где-то есть, потому что, кажется, это работает:
@page "/"
<InputText @onblur="DoSomething" />
@code
{
private void DoSomething()
{ // Your logic here
}
}