绑定在Ext JS中不起作用的按钮

时间:2018-01-26 17:07:49

标签: javascript extjs

我希望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}'
            }
        }]
    }]

1 个答案:

答案 0 :(得分:-1)

或在您的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输出, Goodluck并且乐趣编码Extjs