Элемент управления Blazor INPUT e.Key Не определено - PullRequest
0 голосов
/ 19 июня 2020

Я пытаюсь перехватить символы, набранные в элементе управления вводом, следующий код работает хорошо:

<input id="txtInput" type="text" @onkeypress="KeyHandler" @onkeypress:preventDefault @bind="@InputContent" @bind:event="oninput" />

private void KeyHandler(KeyboardEventArgs e)            
{
    string sPattern = "abcd@";      
    if (sPattern.Contains(e.Key))
    {
        InputContent += e.Key;
    }
}

но ... при вводе '@' e.Key результат будет 'undefined'

это, вероятно, случается и в других случаях, я бы не хотел использовать javascript. Почему это происходит? где ошибка

1 Ответ

1 голос
/ 19 июня 2020

Это нормально работает. Я не думаю, что у вас есть какие-либо проблемы в вашем коде.

    @page "/counter"

    <input @bind="currentCount" @onkeydown="KeyDownHandler" />
    <p>Current count: @currentCount</p>
    <button class="btn btn-primary" @onclick="IncrementCount">Click me</button>

    @code {
    private int currentCount = 0;
    private void IncrementCount()
    {
        currentCount++;
    }
    protected void KeyDownHandler(KeyboardEventArgs e)
    {
       Console.WriteLine($"Key pressed: {e.Key} | Code: {e.Code}");
    }
 }

Это печатает то, что вы вводите, включая специальные символы. Спасибо

...