在选择列表上使用“选项”绑定时,是否可以更改选择列表选项元素的样式(使用“样式”或“CSS”绑定)?或者这只能通过在选择列表上使用“foreach”并更改每个样式的样式来完成?
我在代码中有这个:
<select id="components-select" size="4" name="components-select"
data-bind=" options: combinedComponents,
optionsText: 'displayName',
optionsValue: 'id',
value: chosenComponent"></select>
但如果我追加,则如果返回 false style: {color: isDefault() === true ? 'black' : 'red'}
,则整个列表将变为红色。isDefault
以这种方式对其进行编码是实现此目的的唯一方法:
<select id="components-select" size="4" name="components-select"
data-bind="foreach: combinedComponents">
<option data-bind="value: id, text: displayName, style: {color: isDefault() === true ? 'black' : 'red'}"></option>
</select>
或者是否有某种我不知道的 Knockout.js 魔法?
谢谢!