TLDR; К сожалению, вы столкнулись с этой проблемой IllegalArgumentException при переключении вкладок , которая закрывается как won't fix
.
Мой вопрос здесь, почему мне нужно инициализировать, когда полимер js код, сгенерированный с помощью Vaadin Designer, четко определяет вкладку и ее группу?
Как правило, вам не нужно. Но вкладки не работают, как задумано в этом случае. Таким образом, для этого конкретного компонента предлагается не смешивать шаблон / Java logi c.
Например, вы можете проверить это с помощью <vaadin-text-field>
, где событие запускается правильно.
Java counterpart
@Id("vaadinTextField")
private TextField vaadinTextField;
/**
* Creates a new TestUi.
*/
public TestUi() {
// You can initialise any data required for the connected UI components here.
vaadinTextField.addValueChangeListener(event->{
System.out.println("Event has happened");
});
vaadinTextField.setValueChangeMode(ValueChangeMode.EAGER);
и фрагмент для шаблона сразу после tabs
:
<vaadin-vertical-layout id="vaadinVerticalLayout" style="width: 100%; height: 100%;">
<vaadin-text-field id="vaadinTextField"></vaadin-text-field>
</vaadin-vertical-layout>
Взято из номера:
Таким образом, все API-методы, связанные с Tab, во вкладках полностью нарушены. это пока, таким образом, эта проблема будет известным ограничением для вкладок. Он не будет работать как компонент сопоставления @Id при создании дочерних vaadin-tabs в файле шаблона, поэтому не следует пытаться смешивать логи клиента и сервера c и содержимое для компонента Tabs.
As В качестве обходного пути, вы можете попробовать использовать свой собственный компонент для вкладок отображения @Id, например:
@Tag("vaadin-tabs")
public IdMappedTabs extends Component {
public IdMappedTabs() {
}
public Registration addSelectionListener(PropertyChangeListener listener) {
return getElement().addPropertyChangeListener("selected", listener);
}
public void setSelectedTabIndex(int index) {
getElement().setProperty("selected", index);
}
}
Редактировать:
В чем проблема с Grid
, которая возникает у вас? (Есть хороший учебник по Designer, где используется Grid. Он может быть полезен: Учебник Vaadin Designer )