gpt4 book ai didi

extjs - 无法在ExtJS中重新绘制面板

转载 作者:行者123 更新时间:2023-12-02 04:07:01 24 4
gpt4 key购买 nike

我对此问题进行了充分的调查。但不幸的是,即使在stackoverflow问题中,也没有找到像这样的解决方案。
我需要重新绘制(刷新,重新渲染)一个面板,该面板包含一个带有不同选项卡的tabPanel,每次打开该面板时都会重新构建。这是下面的用于构建标签的代码

//the first tab
categoryTpl: function(){
var categoriesTab = new Ext.Panel({
id: '_Categories',
title: 'X-Axis',
layout: 'form',
padding: 10,
labelWidth: 101,
items: [...]
})
}

这是构建TabPanel的代码
setAxesInfo: function(){
var categoryTab = this.categoryTpl();
//initialize the controls in the first tab
FC.Var.CM.initAxis(categoryTab, undefined);

delete this.axesTabPan;
this.axesTabPan = new Ext.TabPanel({
activeTab: 0,
plain: true,
enableTabScroll: true,
autoScroll: false,
defaults: { autoScroll: true },
items: [categoryTab]
});
}

这是构建面板的代码
create: function(){ 

this.setAxesInfo();

this.axes = new Ext.Panel({
layout: 'fit',
border: false,
items: this.axesTabPan
});

return {
id: 'axesStep',
title: 'Series Customization',
items: this.axes
}
}

因此,我在选项卡控件中进行了更改,然后我想重建(刷新,重新渲染)面板,然后单击按钮,该按钮具有下一个处理程序
refreshAxes: function() {   
this.axes.removeAll();

this.setAxesInfo();

this.axes.add(this.axesTabPan);

this.axes.doLayout();
}

因此,在调试器中,我可以看到选项卡中的所有控件均具有默认初始值(如我所见,它们已被重建)。但是在浏览器中,我只能看到以前更改的值。值得注意的是,如果我更改面板的焦点(例如切换到另一个面板),然后返回到该面板,则所有数据均具有默认值。为什么在不失去焦点的情况下看不到默认值?

我正在使用Ext Js 3.4(需要此版本)。我将不胜感激。谢谢。

最佳答案

尝试在面板上执行doLayout()

关于extjs - 无法在ExtJS中重新绘制面板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7118773/

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