Ext.js 按钮切换功能未按预期工作
Ext.js button toggle functions is not working as intended
我有一个 Ext window (Ext v3),它包含一个带有 toggleGroup 的工具栏。我的目标是保持按钮切换状态,以便在 window 打开时,按钮会像以前一样切换。
我的 Tbar 是这样的
new Ext.Toolbar({
items: [
{
'xtype': 'button',
'text': 'Order Alerts',
'listener': 'alertsOnClick',
'listenerType': 'click',
'enableToggle': 'true',
'toggleGroup': 'buttonTabs',
'id': 'order_all',
}
]
})
我是这样通过onclick记录id的
function alertsOnClick(){
return function () {
grid.currentButton = this.id;
}
}
当 window 打开时,我使用 .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 被清除了。我不确定是否是这种情况。关于如何处理这个问题有什么想法吗?
我可以通过删除 toggleGroup 并跟踪上一个点击的按钮和 .toggling(false)
它
来解决这个问题
我有一个 Ext window (Ext v3),它包含一个带有 toggleGroup 的工具栏。我的目标是保持按钮切换状态,以便在 window 打开时,按钮会像以前一样切换。
我的 Tbar 是这样的
new Ext.Toolbar({
items: [
{
'xtype': 'button',
'text': 'Order Alerts',
'listener': 'alertsOnClick',
'listenerType': 'click',
'enableToggle': 'true',
'toggleGroup': 'buttonTabs',
'id': 'order_all',
}
]
})
我是这样通过onclick记录id的
function alertsOnClick(){
return function () {
grid.currentButton = this.id;
}
}
当 window 打开时,我使用 .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 被清除了。我不确定是否是这种情况。关于如何处理这个问题有什么想法吗?
我可以通过删除 toggleGroup 并跟踪上一个点击的按钮和 .toggling(false)
它