У меня есть следующий код.
<input id="search" type="text" @bind="Search" @onkeypress="SearchChanged" />
@code {
string Search;
void SearchChanged()
{
var s = Search; // Search is always one character behind
}
}
Ввод в текстовое поле вызовет функцию SearchChanged
. Однако полученное значение всегда находится на один символ перед набираемым текстом. Например, если установить точку останова в SearchChanged
,
Typed Value of Search
===== ================
a null
ab a
abc ab
abcd abc
Кстати, @onkeypress
не работает в интернет-браузере?
Попытался изменить код на
<input id="search" type="text" @bind="Search" />
@code {
string search;
string Search
{
get { return search; }
set {
search = value;
ResultList = GetNewList(search).Result.ToList();
}
}
void SearchChanged()
{
var s = Search; // Search is always one character behind
}
}
Я установил точку останова в set { }
, однако при вводе текстового поля точка останова вводится один или два раза?