如何在 Blazor 中完成绑定后 运行 其他操作?

How to run additional actions after binding completes in Blazor?

我正在尝试了解如何在绑定完成后运行执行操作

例如

<input type="text" @bind="@Model.Value" />

<h2>@Value2</h2>

@code
{

void SetNewValue()
{
    Value2 = $"New value {this.Model.Value} added on {DateTime.Now}";
}

string Value2 {get;set;}

}

这只是一个简单的例子。我不能使用 onchange,因为它不能与绑定一起使用。我尝试使用 onkeyup 但它是在绑定完成之前执行的。 Blazor 没有处理焦点丢失的选项,所以我真的不知道如何完成这项工作。

我试过使用 onchange,但它在失去焦点后触发。如果你想在字母变化时调用函数,你可以使用oninput。

<input @oninput="OnValueChanged" value="@Value" />

Value: <div>@Value</div>

@code {
    [Parameter]
    public string Value { get; set; }

    [Parameter]
    public EventCallback<string> ValueChanged { get; set; }

    private Task OnValueChanged(ChangeEventArgs e)
    {
        Value = e.Value.ToString();

        return ValueChanged.InvokeAsync(Value);
    }
}
 @page "/"

<input type="text" value="@model.Value" @onchange="@((args) => { model.Value = 
 args.Value.ToString(); SetNewValue(); })" />

<h2>@Value2</h2>

@code
{

private Model model = new Model();

void SetNewValue()
{
    Value2 = $"New value {this.model.Value} added on {DateTime.Now}";
}

string Value2 { get; set; }



public class Model
{
    public string Value { get; set; }
}

}