我想有选项值作为国家代码(AL,AK,AZ)和标签是国家名称(阿拉巴马州,阿拉斯加州,亚利桑那州)使用Vaadin选择组件。
states.setItems(facade.stateService().findAllStates().stream().map(States::getName).collect(Collectors.toList()));
<option value="AL">Alabama</option>
如何在vaadin中生成上述选项?谢谢。
b4lqfgs41#
在使用Vaadin时,您通常不必关心HTML的确切表示,框架会自动为所有项目生成内部标识符,以便您可以在Java API中使用完整的对象表示(例如,您的示例中的States示例)。然后,您将获得States的一个示例作为select的值,并且还可以在各种事件中使用。
States
Select<States> states = new Select<>(); states.setItems(facade.stateService().findAllStates()); states.setItemLabelGenerator(States::getName); states.addValueChangeListener(event -> { Notification.show("Selected state code " + event.getValue().getCode()); });
1条答案
按热度按时间b4lqfgs41#
在使用Vaadin时,您通常不必关心HTML的确切表示,框架会自动为所有项目生成内部标识符,以便您可以在Java API中使用完整的对象表示(例如,您的示例中的
States
示例)。然后,您将获得
States
的一个示例作为select的值,并且还可以在各种事件中使用。