La vista Ember.Select
non lo fa, fuori dalla scatola. Sarà necessario aggiungere un binding dell'attributo personalizzato per disabled
e una proprietà calcolata corrispondente per indicare a Ember come trovarlo.
Un approccio semplice consiste nell'aggiungere l'attributo disabilitato sul contenuto/elemento dati utilizzato per il rendering della selezione.
App.ApplicationController = Ember.Controller.extend({
choices: function() {
return [
Ember.Object.create({firstName: "Lorem", id: 1}),
Ember.Object.create({firstName: "Ipsum", id: 2, disabled: true}),
Ember.Object.create({firstName: "Dolor", id: 3}),
Ember.Object.create({firstName: "Sit", id: 4}),
Ember.Object.create({firstName: "Amet", id: 5})
];
}.property()
});
e riaprire o estendere la vista Ember.SelectOption
aggiungendo l'attributo disabled
e proprietà calcolata.
Ember.SelectOption.reopen({
attributeBindings: ['value', 'selected', 'disabled'],
disabled: function() {
var content = this.get('content');
return content.disabled || false;
}.property('content'),
});
Ecco un lavoro jsbin. Si noti che l'opzione ipsum
è disabilitata.
fonte
2013-06-25 08:04:56
Fa questo help..http: //stackoverflow.com/questions/11457206/emberjs-how-to-disable-ember-select – PSL
No purtroppo, che disabilita l'intera casella di selezione. Voglio disabilitare solo alcune delle opzioni all'interno della casella di selezione. – jennas