我希望禁用Zulu按钮,直到更改功能中的项目将newVal设置为它为止。目前Zulu按钮已启用,这是一个问题,因为我希望在特定条件下将其禁用。 item.set('textstuff',newVal);被满足。
我的代码有什么问题?我使用了这篇文章:ExtJS 6 - Bind disabled property to new records in a store以获得一些启发,但仍然需要一些帮助。
title: 'Foo',
xtype: 'Bar',
autoSelect: true,
labelWidth: 150,
listeners: {
change: function(component, newVal, OldVal) {
var view = this.up('uploadthings');
var items = view.getViewModel().getStore('things').data.items;
items.forEach(function(item) {
item.set('textstuff', newVal);
});
view.getViewModel('bindBool', true);
}
}
}, {
items: [{
xtype: 'panel',
buttons: [{
style: 'margin-right: 30px',
text: 'Zulu',
iconCls: 'x-fa fa-upload',
handler: 'xray',
bind: {
disabled: '{bindBool}'
}
}]
}]
最佳答案
或在ViewModel.Js文件中,您可以添加公式并配置bondbool,
假设您在控制器上设置了bindbool:me.getViewModel().set('bindbool', true)
在您的ViewModel中:
formulas : {
bindbool : {
get : function(get){
var tempVar = get('bindbool'); //--> true because you set it to true
return tempVar == true ? tempVar : false;
}
}
}
这样,您可以控制viewModel的输出,
祝您好运,并为Extjs编写代码带来乐趣