blazorで<input …>コントロールの内容が変更された時のイベントとして、onchangeとoninputがあるが、onchangeはコントロールから、フォーカスが外れたときに発生するため、文字の入力中や変更中の値を取得することができない。
これに対して、oninputイベントは文字や値が変更されると即時に発生するため、入力中の文字や変更中の値をリアルタイムに取得することができる。
以下サンプル
@page "/change"
<table>
<tr>
<td>onchange:</td><td><input type="text" @onchange="TextChanged"/></td>
</tr>
<tr>
<td>oninput:</td><td><input type="text" @oninput="TextChanged"/></td>
</tr>
</table>
<br/>
Input Text:@Message
@code {
protected string? Message;
protected void TextChanged(ChangeEventArgs e) {
Message = e.Value?.ToString();
}
}
忘れない様にメモ。