我有以下代码。
<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
中设置断点,
搜索的输入值===== ================空值ab aabc ababcd abc
顺便说一句,@onkeypress
在Internet浏览器中不起作用?
试图将代码更改为
<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 { }
中设置了一个断点,但是,在键入文本框时,该断点仅被击中了一两次?
这是方法:
<input id="search"
type="text"
@bind-value="Search"
@bind-value:event="oninput"
/>