得到了一个可以正常工作的组件,如下所示(肯定设置了selectedId):
export default Ember.Component.extend({
store: Ember.inject.service(),
items: [],
selectedId: 0,
result: '',
init () {
this._super(...arguments);
var store = this.get('store');
let items = store.findAll('dealtype');
this.set('items', items);
},
didInsertElement: function() {
// this.$().select2();
}
});
这使我的组件很好,但是对于 if 语句它永远不会变为 true 的部分(为此安装了 ember-truth-helpers)
<select style="width:100%">
<option value=""></option>
{{#each items as |item|}}
{{#if (eq selectedId item.id)}}
<option selected="selected" value="{{item.id}}">{{item.name}} YEAH</option>
{{else}}
<option value="{{item.id}}"> {{item.name}} </option>
{{/if}}
{{/each}}
</select>
不想混淆问题,但正如您所见,我注释掉了 select2 init 调用。这样做时,它使我选择了一个 select2 列表,但是这些项目消失了(仍然在标记中)