排序版本:
为什么这样做:<option disabled={{option.isSelected}}>
但不是这样:<option selected={{option.isSelected}}>
长版:
这更多的是关于我学习Ember如何工作而不是让这个工作,因为已经有很多工作的例子。
我正在尝试在选择菜单中设置默认选定选项。看起来有不同的方法,推荐的方法正在改变。
我在Ember 1.13.11工作,但希望与Ember 2.0兼容。
我没有找到与selected
属性不涉及模板助手的Ember 2.0兼容方法。我可以在控制器上创建一个true / false值作为属性。我知道我做得对,因为disabled
正常工作。为什么这只对select
失败?
模板通话:
{{version-details item=version status=version.status}}
组件控制器:
import Ember from 'ember';
export default Ember.Component.extend({
tagName: 'select',
options: Ember.computed('status', function() {
var statusOptions = ['beta', 'current', 'future', 'retired-beta', 'retired', 'unknown'];
var selected = this.get('status');
var optionsData = [];
statusOptions.forEach( function(status){
var isSelected = (selected == status);
optionsData.push({ status: status, isSelected: isSelected });
})
return optionsData;
}),
setAction: '',
});
组件:
{{#each options as |option|}}
<option selected={{option.isSelected}}>{{option.status}}</option>
{{/each}}
答案 0 :(得分:0)
正如@blessenm指出的那样。它确实有效。
我认为无法判断它是否有效,因为浏览器正在记忆并选择上次访问该页面时的值。