Vaadin小工具提供setEnabled
和setReadOnly
方法。我想要只读状态的视觉黑色可读性而不是灰色禁用状态。我的目标是阻止用户直接输入数据。
不幸的是,TextField上的只读模式不仅阻止用户进行数据输入。它还阻止我通过调用setValue
以编程方式设置值。
解决方法是让我的代码(1)使用False调用setReadOnly,(2)调用setValue,(3)使用True调用setReadOnly。
➤在只读模式下是否有更简单的方法来更改TextField的值?
答案 0 :(得分:6)
如果您查看TextField
AbstractField
方法的源代码,我认为有一种更简单的方法可以在只读模式下更改setValue
的值,你可以发现它。
但你仍然可以使用简单的函数自己做到这一点:
public void setValue(TextField textField, String value) {
if (textField.isReadOnly()) {
textField.setReadOnly(false);
textField.setValue(value);
textField.setReadOnly(true);
} else {
textField.setValue(value);
}
}
答案 1 :(得分:1)
您可以改为禁用颜色。
input[disabled], .v-disabled {
color: #22222;
opacity: 1.0;
}