使用设计器创建的单选按钮组不会触发 changeValueEvent

问题描述

我已使用 Vaadin 设计器将单选按钮组添加到我的视图中:

  <vaadin-radio-group value="Line" id="vaadinRadioGroup" style="margin-left: var(--lumo-space-s);">
   <vaadin-radio-button name="Line" style="flex-grow: 0; align-self: stretch;" checked>
 Line 
  </vaadin-radio-button>
  <vaadin-radio-button name="Heatmap" checked>
 Heatmap 
  </vaadin-radio-button>
 <vaadin-radio-button name="Both" checked>
 Both 
 </vaadin-radio-button>
 </vaadin-radio-group>

在我的 Java 代码中:

vaadinRadioGroup.addValuechangelistener(radioButtonEvent -> {
        System.out.println("The event is triggered.......")
    });

单选按钮值的变化不会触发changeValueEvent。我在这里遗漏了什么??

解决方法

仔细观察一下就会发现问题:如果您还希望能够从 Java 端使用单选按钮组,则无法在设计本身中声明数据。您应该使用例如从 Java 端执行此操作setItems() 或添加 DataProvider。如果这样做,在您查看设计时将看不到各个单选按钮,但在您运行应用程序时它们会出现。