在我的餘燼申請我在模板中定義這樣的選擇元素:Ember.Select雙向的編輯形式結合
{{view Ember.Select
content=greetings
optionValuePath="content.id"
optionLabelPath="content.code"
value=selectedGreeting
selection=selectedGreeting
prompt="Please choose"}}
控制器此頁面(共享的形式和控制器,用於創建和編輯表單)看起來是這樣的:
greetings: [
{code: "Mr.", id: 1},
{code: "Mrs.", id: 2}
],
selectedGreeting: null,
actions: {
save: function(){
var person = this.get('model');
if (person == null || person.id == undefined)
{
// create mode
var greeting = this.selectedGreeting.id;
// ....
var newPerson = this.get('store').createRecord('person',{
greeting: greeting,
// ..
});
newPerson.save();
this.transitionToRoute('index');
}
else
{
// edit mode
person.set('greeting', this.selectedGreeting.id);
person.save();
}
}
}
這創造了一個人的時候,卻打開已有一個選擇框顯示PROMT而不是保存的值(我真的有jQuery來做到這一點時,完美的作品)? 。
除此之外,我認爲必須有一個更簡單的方法來更新現有的模型與選擇值在其他分支,因爲其他屬性得到自動修改。
任何建議,將不勝感激,Ember的文檔不幸的是在這種情況下沒有什麼幫助。
不幸的是,這並沒有解決它,#if模型的條件工作,但選擇不會在下拉列表中設置。我試過選擇了Grey和model.greeting,沒有效果。 – Ralf
我剛剛爲Ember.Select寫了一個小封裝組件,並且我使用'value'而不是'selection'。你只使用'value'而不是'selection'? – GJK
我得到了它今天上的使用: '{{視圖Ember.Select 含量=問候 optionValuePath = 「content.id」 optionLabelPath = 「content.code」 值= model.greeting }}」 該作品以兩種方式 - 從模型加載數據並將數據保存到模型中。請相應地編輯您的答案,並將其標記爲已接受。 – Ralf