@onkeypress无法获取文本输入框的更新值?

问题描述 投票:0回答:1

我有以下代码。

<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 { }中设置了一个断点,但是,在键入文本框时,该断点仅被击中了一两次?

c# razor blazor blazor-server-side
1个回答
0
投票

这是方法:

<input id="search" 
       type="text" 
       @bind-value="Search" 
       @bind-value:event="oninput"
/>

了解Data Binding

© www.soinside.com 2019 - 2024. All rights reserved.