我有一个 SuperBoxSelect 元素,从远程存储中填充。
我需要为每个标签设置不同的颜色(在 rowselect 上设置)。颜值随店而来。
现在我最终尝试:
displayFieldTpl: '<tpl for="."><div class="x-superbox-item"
style="background:{color};">{text}</div> </tpl>'
然而,tpl 在标签内创建其 on 元素(这是一个列表元素,其中包含关闭按钮/X 的另一个元素)。
发生的情况是它现在内部有一个带颜色的小框,背景仍然是默认颜色。
我需要的是一种方法来更改列表元素自身的背景颜色,而不是在其中创建新元素。但是 tpl 似乎还不够好。 这些不是固定的颜色 - 它们可以是稍后在配置中为每个特定标签设置的任何颜色。
它的 html 是:
<ul id="ext-gen747">
<li id="ext-gen1001" class="x-superbox-item x-superbox-item x-superbox-item-hover">
"TestTag2"
<a class="x-superbox-item-close" tabindex="0" href="#" id="ext-gen1002"></a>
</li>
</ul>
最佳答案
您可以在组合定义中定义 classField
或 styleField
,这在这种情况下可能会派上用场。
例如,如果您将颜色作为名称(例如红色、绿色),您可以将 classField
设置为 color
并在 css 中定义适当的样式。要使用 styleField
,您应该在每条记录中定义计算字段以提供它返回正确的样式标签。
您还可以覆盖 addItemBox
方法。
关于javascript - extjs 3 SuperBoxSelect标签颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27036843/