vaadin - 如何在 vaadin 流中绑定(bind)枚举值?

标签 vaadin vaadin-flow

在我使用 springboot 的 vaadin 流程项目中,我遇到了无法绑定(bind)带有组合框的枚举值的问题。 我在下面提供了我的代码。这里有谁能帮帮我吗?

组合框实例化:

private ComboBox<Country> nationality = new CompoBox<>("Nationality");

绑定(bind)代码:

binder.forField(nationality)
    .bind(Coach::getNationality,Coach:setNationality);

最佳答案

我认为您缺少 setItems 调用。这是一个基于 Project Base for Vaadin Flow 的示例

package com.vaadin.starter.skeleton;

import com.vaadin.flow.component.button.Button;
import com.vaadin.flow.component.combobox.ComboBox;
import com.vaadin.flow.component.notification.Notification;
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
import com.vaadin.flow.data.binder.Binder;
import com.vaadin.flow.router.Route;
import com.vaadin.flow.server.PWA;

/**
 * The main view contains a button and a click listener.
 */
@Route("")
@PWA(name = "Project Base for Vaadin Flow", shortName = "Project Base")
public class MainView extends VerticalLayout {

    public MainView() {

        ComboBox<ENUM> comboBox = new ComboBox<ENUM>("Number");
        comboBox.setItems(ENUM.values());
        Binder<Bean> binder = new Binder<>();
        binder.setBean(new Bean());
        binder.bind(comboBox,Bean::getField,Bean::setField);
        Button button = new Button("Check value",
                        e-> Notification.show("Value in bean is " + binder.getBean().getField()));
        add(button,comboBox);
    }

    public enum ENUM {
        ONE,TWO,TREE
    }

    public static class Bean {
        private ENUM field;

        public ENUM getField() {

            return field;
        }

        public void setField(ENUM field) {

            this.field = field;
        }
    }
}

关于vaadin - 如何在 vaadin 流中绑定(bind)枚举值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55193482/

相关文章:

java - Vaadin + Spring Boot 生产模式构建时出现运行时错误 : Failed to determine 'npm' tool

java - 如何根据 vaadin 中的操作重新加载或刷新选项卡的内容

vaadin - 使用 Vaadin 应用程序启动器生成的主从 View 中不可见的铁图标

java - 通过 JavaScript 与 Vaadin 代码处理事件是否有任何服务器负载平衡优势?

java - 在 Vaadin 中找不到设计文件

java - 无法加载资源: the server responded with a status of 404 (Vaadin 14 + Spring Boot)

vaadin - 如何在 vaadin 13 的 LoginOverlay 中添加背景图片?

java - 将 Vaadin 8 附加组件与 Vaadin 14 Java 结合使用

gwt - 了解 Vaadin 如何使用 GWT

java - Vaadin 文件下载器 : start download manually