Компонент GridContextMenu не отображается внутри диалогового окна (Vaadin 24.0.5)
У меня возникла проблема при обновлении с Vaadin 23 на Vaadin 24. Компонент GridContextMenu (который создан для Grid внутри диалогового окна) не отображается. Ошибок нет.
Среда:
os: Windows 10 Pro (21H2)
browser: chrome-113.0.5672.93, firefox-113.0.1
java: 17.0.3
nodejs: 18.16.0
spring-boot: 3.0.6
vaadin: 24.0.5
Пример:
import com.vaadin.flow.component.dialog.Dialog;
import com.vaadin.flow.component.grid.Grid;
import com.vaadin.flow.component.grid.contextmenu.GridContextMenu;
import com.vaadin.flow.component.html.Div;
import com.vaadin.flow.component.html.Label;
import com.vaadin.flow.router.PageTitle;
import com.vaadin.flow.router.Route;
import java.util.List;
@PageTitle("Example-01")
@Route(value = "example01", layout = MainLayout.class)
public class Example01View extends Div {
public Example01View() {
add(createGrid()); // GridContextMenu is displayed
Dialog dialog = new Dialog();
dialog.add(createGrid()); // GridContextMenu is not displayed
dialog.open();
}
private Grid<Product> createGrid() {
Grid<Product> grid = new Grid<>(Product.class, false);
grid.addColumn(Product::id).setHeader("Id");
grid.addColumn(Product::name).setHeader("Name");
GridContextMenu<Product> menu = grid.addContextMenu();
menu.addItem(new Label("Text 1"));
menu.addItem(new Label("Text 2"));
grid.setItems(List.of(
new Product(1L, "name1"),
new Product(2L, "name2")
));
return grid;
}
public record Product(Long id, String name) {
}
}
Проблема не воспроизводится в:
- Vaadin 22.0.x + Spring Boot 2.5.x
- Vaadin 23.3.x + Spring Boot 2.7.x
Почему это больше не работает? Как решить эту проблему?
Спасибо за помощь.