gpt4 book ai didi

javascript - ExtJs 按钮 - 更改点击监听器上的文本和 cls

转载 作者:行者123 更新时间:2023-11-27 23:08:06 26 4
gpt4 key购买 nike

我有一个 extjs 3.4 按钮,其作用类似于切换按钮,请参阅下面的代码:

    this.advanceFilterToggleBtn = {
xtype: 'button',
id: 'advancedSearchLink',
text: 'More Filter Options',
iconCls: 'button-more-filter-options',
width: '150',
listeners: {
click: function(btn, el){
// do stuff
if(this.text === 'More Filter Options'){
// do some more stuff
this.text = 'Less Filter Options';
this.iconCls = 'button-less-filter-options';
}else {
this.text = 'More Filter Options';
this.iconCls = 'button-more-filter-options';
}
}
}

按钮上的文本和类别发生了变化,我可以确认这一点,但显示并未更新。这意味着它仍然显示相同的初始文本和向下的 V 形。我在 chrome 开发工具中有断点,并且 if 和 else block 都被击中。

我尝试使用通过单击监听器传递的 btn 对象的 setText 和 setIconCls 而不是使用“this”,但它不起作用。在这种情况下,else block 不会被击中。

我尝试将 this.text 和 this.iconCls 移动到 if 和 else block 的开头,但没有成功。

感谢任何帮助。

谢谢

最佳答案

if(btn.getText() === 'More Filter Options'){
advForm.expand(true);
filterPanel.setHeight(220);
srTab.doLayout();
btn.setText('Less Filter Options');
btn.setIconCls('button-less-filter-options');
} else {
advForm.collapse();
filterPanel.setHeight(130);
srTab.doLayout();
btn.setText('More Filter Options');
btn.setIconCls('button-more-filter-options');
}

关于javascript - ExtJs 按钮 - 更改点击监听器上的文本和 cls,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36433256/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com