Ember, отключить ввод в зависимости от условия
У меня есть форма Ember, где я хочу отключить ввод на основе пользователя. Я получаю массив модифицируемых полей из моего бэкенда.
Как мне заставить это работать с Ember? Идеальным сценарием было бы сделать это,
{{input type="text" disabled=isModifiable("middleName") value=middleName}}
Я знаю, что это невозможно. Довольно плохо знаком с Эмбер, совет будет принята с благодарностью. Благодарю.
1 ответ
Определите свойство в вашем контроллере или компоненте следующим образом:
fields:[],
loadFields : function(){
var that = this;
$.get(FIELDS_API).done(function(serverResponse){
//process server response in an array with objects with this form:
// [ field:"middleName", isDisabled:true}]
that.set("fields",fieldsArray);
})
}
isModifiable : function(fieldName){
var field = this.get("fields").findBy("field",fieldName);
return (field) ? field.isDisabled: false;
},
isMiddleNameInputDisabled : function(){
return this.isModifiable("middleName");
}.property("fields.@each")
Используйте это свойство в вашем шаблоне так:
{{input type="text" disabled=isMiddleNameInputDisabled value=middleName}}