0
我有一個Ember.js應用程序,並且對於其中的表單,我正在使用ember-power-select。我已經使用過這個插件,但是我在如何配置selected
元素時遇到了一些問題。正如標題所說,我正在尋求幫助以瞭解如何使用函數配置selected
。
我想用一個從服務中檢索變量的函數來設置選定的變量。如何通過從ember-power-select中選擇的函數
我的組件看起來像:
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
。除了選定的部分以外,一切正常。
在模板,你可以看到「選擇」是可以在組件內設置的值,但我不想設定一個硬編碼一個值,但是與當前值區域設置。
每一個提示和/或幫助表示讚賞!
您的服務是否通過您的選項數組中的相同值傳遞?如果'this.set('language',lang)'與選項不匹配,將無法選擇。 http://www.ember-power-select.com/docs/how-to-use-it – BrandonW
事情是它不會失敗,它只是在我的電源選擇中以明文形式放置該功能。例如,我沒有使用「英語」,而是收到:'language(){ /* *在我的服務appInfo中,我有一個名爲getLocale *的函數,它返回當前的語言環境變量。 */ return this.get('appInfo')。getLocale(); },' – maje
我明白了,最初的問題是'language()'是一個函數而不是屬性。但即使這樣,權力選擇文檔也會說選項是隻讀的,所以不應該聲明新的選項。我會自己測試一下,看看我能找到什麼。 – BrandonW