Sélectionnez la liste déroulante avec Ember
-
29-10-2019 - |
Question
J'essaie de produire une entrée sélectionnée et de passer l'objet sélectionné à l'événement de modification de la vue. L'exemple de contact Ember utilise un <ul>
Mais avec une sélection, la vue doit être en dehors de chacune, sinon le changement n'est même pas licencié.
Voici la vue JS:
App.SelectView = Ember.View.extend({
change: function(e) {
//event for select
var content = this.get('content');
console.log(content);
App.selectedWidgetController.set('content', [content]);
},
click: function(e) {
//event for ul
var content = this.get('content');
console.log(content);
App.selectedWidgetController.set('content', [content]);
}
});
La ul
De l'exemple fonctionne:
<ul>
{{#each App.widgetController.content}}
{{#view App.SelectView contentBinding="this"}}
<li>{{content.name}}</li>
{{/view}}
{{/each}}
</ul>
Mais si je remplace directement HTML, l'événement de changement n'est pas licencié (ce qui a du sens)
<select>
{{#each App.widgetController.content}}
{{#view App.SelectView contentBinding="this"}}
<option>{{content.name}}</option>
{{/view}}
{{/each}}
</select>
Je suppose donc que la sélection doit être enveloppée dans la vue.
{{#view App.select_view contentBinding="App.widgetController.content"}}
<select>
{{#each App.widgetController.content}}
<option>{{name}}</option>
{{/each}}
</select>
{{/view}}
Pas de solution correcte
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow