Я использую Grid
в Vaadin 14. Сетка находится в режиме множественного выбора. Обработчик выбора занимает пару секунд, и я вызываю setItems(...)
в конце, чтобы обновить элементы в сетке.
Когда пользователь выбирает другую строку, в то время как предыдущий обработчик выбора все еще работает, Я получаю ошибку «Неизвестный ключ», аналогичную описанной в https://github.com/vaadin/vaadin-grid-flow/issues/322, хотя новый набор элементов по-прежнему содержит выбранный элемент (другой экземпляр объекта, но такой же, как в equals()
). Похоже, это связано с тем, что ключи в KeyMapper
уже были изменены из-за setItems()
, поэтому ключ, исходящий от клиента, больше не присутствует.
Есть ли способ обойти это, для Например, отключив выбор во время выполнения предыдущего запроса?
ОБНОВЛЕНИЕ
Чтобы обойти эту ошибку Vaadin , я также звоню setPageSize()
с точным количеством элементов в качестве аргумента. Но похоже, что та же проблема возникает, даже если я не звоню setPageSize()
, так что, вероятно, это связано с setItems()
.