我有一个带有DateField的表单,我希望能够在只读模式和非只读/编辑模式之间切换。
当该字段最初为只读且我切换为非只读时,则日历的时间部分无法正确编辑/显示。
当字段最初是非只读时,在预期的非只读和只读工作之间切换。问题是该字段最初需要是只读的。
我错过了什么或这是一个错误吗?
我使用vaadin 7.4.4和vaadin-spring-boot-starter-1.0.0.beta2。
@SpringUI()
@Theme("valo")
public class TestUI extends UI {
@Override
protected void init(VaadinRequest request) {
DateField dateField = new DateField();
dateField.setResolution(Resolution.MINUTE);
dateField.setValue(new Date());
dateField.setReadOnly(true);
Button button = new Button("toggle read-only");
button.addClickListener(event -> dateField.setReadOnly(!dateField.isReadOnly()));
VerticalLayout pageLayout = new VerticalLayout(dateField, button);
pageLayout.setSpacing(true);
pageLayout.setMargin(true);
setContent(pageLayout);
}
}
答案 0 :(得分:2)
这是一个已知并报告的错误,您可以在Vaadin Trac错误报告系统中找到它 - Issue #17319。
#17319 - 无法使用Resolution.MINUTE的只读日期字段进行编辑 适当强>
将具有Resolution.MINUTE的DateField创建为只读时 它的状态在运行时更改,小时和分钟字段不能 编辑。它们呈现为只读。如果未创建日期字段 作为只读,但它的状态在运行时更改,一切正常。 在版本7.2.1之前,此错误不存在。我不确定,但可能 与问题#10262有关。