首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在ReadOnly模式下以编程方式设置TextField的值?

在ReadOnly模式下以编程方式设置TextField的值?
EN

Stack Overflow用户
提问于 2014-08-07 21:14:31
回答 2查看 2.6K关注 0票数 5

Vaadin小部件提供setEnabledsetReadOnly方法。我希望视觉黑色只读状态的可读性,而不是灰暗的禁用状态。我的目标是防止用户直接输入数据。

不幸的是,TextField上的只读模式不仅阻止用户输入数据.它还阻止我以编程方式通过调用setValue来设置值。

解决方法是让我的代码(1)用False调用setReadOnly,(2)调用setValue,(3)用True调用setReadOnly。

在只读模式下,是否有一种更简单的方法来更改TextField的值?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-07 21:56:42

我不认为在只读模式下更改TextField值的方法更简单,如果您查看AbstractField setValue方法的源代码,就会发现这一点。

但是,您仍然可以使用简单的函数来完成这一任务,例如:

代码语言:javascript
运行
复制
 public void setValue(TextField textField, String value) {
          if (textField.isReadOnly()) {
              textField.setReadOnly(false);
              textField.setValue(value);
              textField.setReadOnly(true);
          } else {
              textField.setValue(value);
          }
    } 
票数 6
EN

Stack Overflow用户

发布于 2014-08-07 22:27:46

您可以改为更改禁用的颜色。

代码语言:javascript
运行
复制
input[disabled], .v-disabled {
    color: #22222;
    opacity: 1.0;
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25192327

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档