我有一个文本字段,我想根据是否选中复选框来切换为必填字段。我无法让ValueChangeEventListener发挥得很好。
这是我到目前为止所做的:
private TextField myTextField = new TextField("Name");
myTextField.setRequired(true);
private CheckBox myCheckBox;
myCheckBox = createCheckBox();
private CheckBox createCheckbox() {
CheckBox checkBox = new CheckBox("My checkbox");
checkBox.setImmediate(true);
checkBox.addValueChangeListener(new ValueChangeListener() {
@Override
public void valueChange(ValueChangeEvent event) {
toggleRequired();
}
});
return checkBox;
}
private void toggleRequired() {
if (myCheckBox.getValue() != true) {
myTextField.setRequired(false);
} else {
myTextField.setRequired(true)
}
}
valueChangeListener被触发的次数太多次从true变为false返回true。不知道我在这里做错了什么,真的很感激一些帮助。
谢谢
答案 0 :(得分:0)
好的我明白了!这是一个非常简单的解决方案,我不得不改变
checkBox.addValueChangeListener(new CheckBox.ValueChangeListener() {});
我正在引用一些以下属性类:
properties.ValueChangeListener();