如何将自定义属性添加到vaadin 6中的文本字段或选项卡

时间:2014-05-22 10:08:11

标签: javascript html vaadin

在我们的医疗应用中,我们整合了Nunance的龙语音识别。在API中,它称为SAS。

在一个仪表板中我们使用Vaadin框架的TabSheet设计了UI。 Tabsheet基本上使一个选项卡(在html中说div)可见并应用css属性可见性:隐藏到其他选项卡(div)。

SAS basicaly在Page的onLoad()事件发生时检查所有输入字段,如textfield。它使得它能够启用。

SAS清楚地声明“隐藏或禁用控件,即具有禁用属性的控件或CSS属性visibility:hidden或display:none,默认情况下会从语音识别中排除。这可以通过设置'data-nusa-来覆盖启用这些控件的属性为“true”。

现在我的问题是如何将此服装属性添加到vaadin textfields或tabs组件?我们正在使用vaadin 6.8。

1 个答案:

答案 0 :(得分:0)

就我对Vaadin 6的经验而言,实现这样的事情的一种可能方法是在styles.css中定义一个css规则。在此规则中,您可以定义visibility属性,然后在java代码中使用调用规则的setStyleName()方法将其应用于您需要的组件,但我不知道该规则在所有组件上的行为,我只是在标签上测试它并且像魅力一样工作。

例如:在styles.css

.my-app .my-custom-tab {
    display: none;
}

在java代码中:

myTabSheet.getTab(tabIndex).setStyleName("my-custom-tab");

但要注意,使用display: none;将隐藏您的组件,如果不可见(因为实际上选择了另一个选项卡),您将不会注意到它。

请记住将其回滚到原始状态,设置带display: inline-block;的样式或符合您需要的样式。

这不是最佳解决方案,因为您必须将它应用于您拥有该属性所需的所有组件,但这是我能够实现它的“最简单”方法。