我有一个包含 TextArea 的简单 UiBinder 小部件:
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
xmlns:g="urn:import:com.google.gwt.user.client.ui">
<g:TextArea visibleLines="3" />
</ui:UiBinder>
我想控制此文本区域的背景颜色以实现可写和只读状态。GWT 使用“-readonly”样式名称装饰器来实现这一点。所以我试试这个:
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
xmlns:g="urn:import:com.google.gwt.user.client.ui">
<ui:style>
.textBoxStyle {
background-color:yellow;
}
.textBoxStyle-readonly {
background-color:lightgray;
}
</ui:style>
<g:TextArea styleName="{style.textBoxStyle}" visibleLines="3" />
</ui:UiBinder>
显然这不起作用,因为样式名称对 CssResources 进行了混淆,导致如下所示:
.G1x26wpeN {
background-color:yellow
}
.G1x26wpeO {
background-color: lightgray;
}
可写文本区域的结果 HTML 如下所示:
<textarea tabindex="0" class="G1x26wpeN" rows="3"/>
只读文本区域如下所示:
<textarea tabindex="0" class="G1x26wpeN G1x26wpeN-readonly" readonly="" rows="3"/>
如何声明样式以便 GWT 混淆主要部分而不是“-readonly”decdorator?
我知道我可以禁用整个样式名称的混淆。但我想在使用装饰器的同时保持混淆。