Предотвращение клавиши со стрелкой Blazor в поле со спискомJavascript

Форум по Javascript
Ответить
Anonymous
 Предотвращение клавиши со стрелкой Blazor в поле со списком

Сообщение Anonymous »

при фильтрации раскрывающегося списка в виде комбинации введенное значение заменяется значениями раскрывающегося списка при навигации с помощью клавиш со стрелками вверх и вниз. я хочу сохранить введенное значение до тех пор, пока пользователь явно не выберет элемент.
Как это сделать в blazor
Я пробовал, как показано ниже, но все равно не работает
private string _typeValue;

public async void KeyPressed(KeyboardEventArgs args)
{
if (args.Key == "ArrowUp" || args.Key == "ArrowDown")
{
if (_comboSelector != null)
{
RestoreTypedValue();

}
else if (args.Key != "Enter")
{
_typedValue = SelectedDataItem?.TextValue ?? string.Empty;
}
}
}

private void RestoreTypedValue()
{

if (!string.IsNullOrEmpty(_typedValue))
{
SelectedDataItem.TextValue = _typedValue;
StateHasChanged();
}
}
public async Task OnFiltering(FilteringEventArgs value)
{
try
{
if (UIElement.IsCd02 == 1)
{
if (value.Text != null && value.Text.Length >= this.MinLengthTerm)
{
_typeValue=value.Text;
await this.ReadCombo(value.Text);
}
else
{
this.DataCollection = this.InitialCollection;
}
}
else
{
if (value.Text != null && value.Text.Length >= 2)
{
value.PreventDefaultAction = true;
var query = new Query().Where(new WhereFilter()
{
Field = "TextValue",
Operator = "contains",
value = value.Text,
IgnoreCase = true
});
query = !string.IsNullOrEmpty(value.Text) ? query : new Query();
_typeValue=value.Text;
await _comboSelector.FilterAsync(DataCollection, query);
}
else
{
this.DataCollection = this.InitialCollection;
}
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}


Подробнее здесь: https://stackoverflow.com/questions/793 ... -combo-box
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»