У меня есть грязная сетка с нумерацией страниц/глобальным поиском. Функциональность поиска работает так, как и ожидалось, когда я тестирую ее в своем регионе, т. е. она отфильтровывает сетку, как только пользователь что-то вводит, и это кажется очень быстрым. Проблема возникает, когда я размещаю ее на сервере разработки/сцены. Пользовательский ввод задерживается. Кроме того, он отлично работает, если ввод вводится медленно. Например, если я пытаюсь довольно быстро ввести «тест» в поле поиска, он всегда пропускает 1 или 2 символа и печатает его как «tst», хотя я тщательно ввел все символы. Указатель очень часто мигает при нажатии клавиши Backspace.
Я пытался очистить кеш, но после хостинга все равно не работает, тогда как при выполнении описанного выше в моей локальной среде такой проблемы не возникает.
p>
Я не могу понять, что я сделал не так, например, почему это влияет на производительность.
Примечание. Я загружаю набор данных сразу из базы данных (внутри onInitialized ())
Код:
Index.razor
Customer Id
Customer Name
....
Actions
@context.CustomerId
@context.CustomerName
....
@context.IsActive
...
IndexBase.cs
protected void FilterChanged(ChangeEventArgs args)
{
searchString = args.Value.ToString();
table.ReloadServerData();
}
protected async Task LoadCustomers(TableState tableState)
{
IEnumerable data = CustomersWithOrderInfo.OrderByDescending(q => q.CustomerId);
data = data.Where(p =>
{
if (string.IsNullOrWhiteSpace(searchString))
return true;
if (!string.IsNullOrEmpty(p.CustomerName) && p.CustomerName.Contains(searchString, StringComparison.OrdinalIgnoreCase))
return true;
if ($"{p.CustomerId}".Contains(searchString))
return true;
return false;
}).ToArray();
totalItems = data.Count();
pagedData = data.Skip(tableState.Page * tableState.PageSize).Take(tableState.PageSize).ToArray();
return new TableData() { TotalItems = totalItems, Items = pagedData };
}
Подробнее здесь: https://stackoverflow.com/questions/712 ... or-c-sharp
Избегайте задержки ввода пользователем в поле ввода текстового поля ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Scipy-correlate: как изменить задержки точек данных на временные задержки?
Anonymous » » в форуме Python - 0 Ответы
- 150 Просмотры
-
Последнее сообщение Anonymous
-