Функция триггера Blazor InputText с кнопкой Enter

    <EditForm class="form-inline col-md-12 p-3" Model="searcher" OnValidSubmit="OnSearchSubmit">
    <input class="form-control w-100 mr-3"
           type="text"
           @bind-value="searcher.SearchText"
           @onkeypress="KeyHandler"
           placeholder="Enter employee name to filter" />
    <ValidationMessage For="()=> searcher.SearchText" />
    <div class="mx-auto mt-2">
        <button type="submit" class="btn btn-primary mr-3">Search</button>
        <button class="btn btn-primary " @onclick="ShowEmployeeList" @onclick:stopPropagation="true">Reset</button>
    </div>

</EditForm>

   //Function
    private async Task KeyHandler(KeyboardEventArgs e)
{
    if (e.Key == "Enter")
    {
        await OnSearchSubmit();

    }

}

Я пытаюсь запустить функцию. Когда я нажимаю клавишу Enter в поле InputText, но до сих пор я наблюдал поведение первого элемента button внутри, а затем EditForm, запускаемого при нажатии Enter. Есть ли обходной путь для этого?


person kabuto178    schedule 10.07.2020    source источник
comment
Вы пробовали это: stackoverflow.com/questions/62054672/   -  person Sisyphus    schedule 11.07.2020
comment
Обязательно изучу это, спасибо   -  person kabuto178    schedule 12.07.2020
comment
Я пробовал решение enet. Это работает, но добавляется только в конец входного значения. Вам, вероятно, потребуется получить selectionstart и selectionend от JSInterop, чтобы он работал так, как вы хотите.   -  person Sisyphus    schedule 12.07.2020
comment
@Sisyphus Я вижу, поэтому в основном я изменил порядок кнопок и сначала поставил кнопку отправки, чтобы при нажатии ввода она отправляла сейчас. Мне придется подумать о том, что начало и конец выбора могут оказаться слишком большими затратами времени для того, что я хочу.   -  person kabuto178    schedule 12.07.2020