我想将可用候选人列表显示为下拉列表,因此我使用 Ember.Select:
{{view "select" content=candidatos optionValuePath="content.id"
optionLabelPath="content.nombre" prompt="Seleciona un candidato..."
selection=selectedCandidato}}
“candidato”的一个实例具有以下结构:
{id: ..., nombre: ..., confirmado: ...}
然后,这里有一个附加要求:“如果confirmado 为真,则在候选人姓名旁边显示*”。
所以... optionLabelPath="content.nombre" 不再适用于此。我也不想污染模型(通过在候选类中创建一个计算属性来满足这个要求)。
目前,我正在通过在控制器中创建一个“markedCandidatos”列表来做到这一点,该列表是从原始候选人列表构建的。像这样:
{{view "select" content=candidatoMarkeds optionValuePath="content.id"
optionLabelPath="content.nombreMarked" prompt="Seleciona un candidato..."
selection=selectedCandidatoMarked}}
但这很笨拙,因为我需要跟踪控制器中 selectedCandidatoMarked 的变化,并在原始候选列表中查找,找到匹配的,并使用该匹配对象设置控制器的“selectedCandidato”属性。我不喜欢这样的简单需求,代码太多。
所以,我正在寻找一种自定义 Ember.Select 的方法。我特别需要一种方法来自定义如何呈现选择中的每个选项。
坦率地说,这个页面不足:http ://emberjs.com/api/classes/Ember.Select.html 。我一直在谷歌搜索,还没有找到一个简单的解释。
我真的很感激这里的一些帮助。
谢谢,拉卡
更新:保留可能相关的链接: