我有一个Ember.js应用程序,对于其中的表单,我正在使用ember-power-select。我已经使用过该插件,但是我对如何配置selected
元素有一些问题。正如标题所说,我正在寻求有关如何使用函数配置selected
的帮助
我想用一个从服务中检索变量的函数设置所选变量。
我的组件看起来像这样:
import Ember from 'ember';
export default Ember.Component.
appInfo: Ember.inject.service('app-info'),
languageOption: ['Français', 'English'],
language() {
/*
* In my service appInfo, I have a function called getLocale
* that return the current locale variable.
*/
return this.get('appInfo').getLocale();
},
actions: {
changeLanguage(lang)
{
this.set('language', lang);
}
}
});
我的模板看起来像那样:
{{#power-select
selected=language
options=languageOption
searchEnabled=false
onchange=(action 'changeLanguage')
placeholder=language
as |lang|}}
{{lang}}
{{/power-select}}
您可以看到我尝试使用通过服务selected
获得的当前locale
设置appInfo
值。除了选定的部分外,一切工作都很好
在模板中,您可以看到'已选中'是一个可以在组件中设置的值,除了我不想用硬编码的值设置值,但是使用 locale的当前值 。
每个提示和/或帮助都表示赞赏!
答案 0 :(得分:0)
刚刚解决了这个问题,我用X
来解决问题。正如@BrandonW在评论中所说,计算属性也不起作用。
这是我在组件中添加的代码:
init()
如果您想使用功能在ember-power-select插件中设置***
init() {
this._super(...arguments);
let loc = this.get('appInfo').getLocale();
if (loc === 'fr')
this.set('language', 'Français');
else
this.set('language', 'English');
}
***
,则可以执行此操作。