所以我在ember数据模型上构建一个绑定到hasMany关系的组件。我有一个搜索模式,我正在弹出,我只想获取搜索结果并使用addObject将模型添加到关系中。
export default Ember.Controller.extend({
// relation is set when the controller is set up
actions: {
pushSelection(selection) {
this.get('relation').addObject(selection);
}
}
});
所以如果我选择一个最基本的余烬选择形式,这样可以正常工作:
{{view "select"
content=results
value=selection
class="form-control"}}
<button type="button" {{action pushSelection selection}}>Make Selection</button>
以上是有效的,但select中充满了ember内部实例名称,并且根本不可接受。
如果我设置了optionLabelPath,它会立即停止工作,并且选择操作未定义。我认为,我已尝试过每一种可能的值,objectLabelPath,optionValuePath和选择的组合。
//reference selection by ID
{{view "select"
content=results
value=selection.id
optionValuePath='content.id'
optionLabelPath='content.text'
class="form-control"}}
//try just binding to whatever object
{{view "select"
content=results
value=selection
optionValuePath='content.id'
optionLabelPath='content.text'
class="form-control"}}
//don't bind the value of the option to the id
{{view "select"
content=results
value=selection
optionLabelPath='content.text'
class="form-control"}}
//trying with the selection option instead
{{view "select"
content=results
selection=selection
optionValuePath='content.id'
optionLabelPath='content.text'
class="form-control"}}
我以前用select2插件做过这种事情,这很好,但这是一个插件,如果我可以避免id,我真的不想添加那个依赖。