Verhinderung der Blazor-Pfeiltaste im KombinationsfeldC#

Ein Treffpunkt für C#-Programmierer
Guest
 Verhinderung der Blazor-Pfeiltaste im Kombinationsfeld

Post by Guest »

Beim Filtern der Dropdown-Liste in der Kombination wird der eingegebene Wert durch die Dropdown-Werte ersetzt, wenn mit den Tasten „Pfeil nach oben“ und „Pfeil nach unten“ navigiert wird. Ich möchte den eingegebenen Wert beibehalten, bis der Benutzer explizit ein Element auswählt.
Wie mache ich das in Blazor?
Ich habe es wie folgt versucht, aber immer noch funktioniert nicht

Code: Select all

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);
}
}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post