Ext.js按钮切换功能未按预期工作

3j86kqsm  于 2022-09-26  发布在  其他
关注(0)|答案(1)|浏览(137)

我有一个Ext窗口(Ext v3),其中包含一个带有toggleGroup的工具栏。我的目标是保持按钮的切换状态,这样当窗口打开时,按钮就会按以前的方式切换。
我的Tbar看起来像这样

new Ext.Toolbar({
            items: [
                {
                    'xtype': 'button',
                    'text': 'Order Alerts',
                    'listener': 'alertsOnClick',
                    'listenerType': 'click',
                    'enableToggle': 'true',
                    'toggleGroup': 'buttonTabs',
                    'id': 'order_all',
                }
            ]
        })

我正在用onclick记录身份证

function alertsOnClick(){
    return function () {
        grid.currentButton = this.id;
    }
}

当窗口打开时,我通过使用.load()和运行的回调函数来等待商店结束

const gridStore = Ext.getCmp('some_id').getStore();
    if(!window.grid || grid.type === 'clear') {
        window.grid = { };
        window.grid.type = 'clear';
        window.grid.currentButton = 'all_filter'
        Ext.getCmp(grid.currentButton).toggle();
        gridStore.filter(grid.field, grid.type);
        return undefined;
    }
    gridStore.filter(grid.field, grid.type);
    let t = Ext.getCmp(grid.currentButton);
    // TODO: Find out why you need to toggle this three times to get it to work
    t.toggle();
    t.toggle();
    t.toggle();

如果我调用.toggle()时它不起作用,但如果我发送.toggle()奇数次,它似乎起作用。我认为按钮本身并没有在关闭时被破坏,但它们的CSS被清除了。但我不确定情况是否如此。对如何处理这个问题有什么想法吗?

j5fpnvbx

j5fpnvbx1#

我能够通过删除toggleGroup并跟踪上一次单击的按钮和.toggling(false)来修复此问题

相关问题