是否为未呈现Extjs 4的组件添加事件?

是否为未呈现Extjs 4的组件添加事件?,extjs,extjs4,Extjs,Extjs4,我有一个表单和一个选项卡面板,用户应该在表单中输入一些信息,然后单击最后的提交按钮。我有一个控制器,它控制按钮点击事件,并根据输入触发各种应用程序级事件。我在所有选项卡的控制器中捕捉这些事件,并进行单独处理。发生的情况是,并非所有选项卡都在开始时呈现,因此,只有第一个选项卡显示输出,而其他选项卡给出错误。我想知道是否有一种方法可以捕获事件,它首先等待组件渲染,然后进行处理 谢谢。您的初始处理程序如何为这些选项卡排队等待某种类型的作业对象!渲染,然后在afterrender或show事件上检查、处

我有一个表单和一个选项卡面板,用户应该在表单中输入一些信息,然后单击最后的提交按钮。我有一个控制器,它控制按钮点击事件,并根据输入触发各种应用程序级事件。我在所有选项卡的控制器中捕捉这些事件,并进行单独处理。发生的情况是,并非所有选项卡都在开始时呈现,因此,只有第一个选项卡显示输出,而其他选项卡给出错误。我想知道是否有一种方法可以捕获事件,它首先等待组件渲染,然后进行处理


谢谢。

您的初始处理程序如何为这些选项卡排队等待某种类型的作业对象!渲染,然后在afterrender或show事件上检查、处理并清除它?我做了一些类似的卡片布局,效果非常好

请查看tabpanel的DelferredRender:Boolean配置

默认情况下为True,以将子项的呈现延迟到浏览器DOM,直到激活选项卡为止。False将在呈现布局后立即呈现所有包含的项。如果有大量内容或大量重控件呈现到默认情况下不显示的面板中,则将此设置为true可能会提高性能


其他选项卡会给出什么错误?如果它们是依赖项,那么您为什么尝试推迟其他选项卡的呈现?您希望在选项卡中有什么样的输出?我自己并没有推迟渲染。但看起来,只要我不点击其他选项卡,它们就不会呈现。是否有一种方法可以在应用程序启动时呈现所有这些内容?是的,这正是我所需要的。我想做的是创建全局布尔变量,并使用它们查看用户输入的内容。但感觉不对劲。你认为这是个好主意吗?我希望有可能触发一个事件并稍后捕获它,或者在afterrender中捕获它,或者强制渲染对象以完成某些工作。但我认为你有一个很好的观点,我应该试试看。或者是那个方向的东西。Thanks全局变量不是好的实践。但这不是魔鬼。您不必破坏MVC逻辑。1.触发输入已更改的事件。2.感兴趣的控制器侦听事件,并在触发时检查是否可见/渲染/就绪。如果是,请更新。如果没有,标记为脏的或什么的,当准备好的时候。他们什么时候准备好?我使用show event和/或afterrender。是的,我也将使用afterrender。非常感谢,我最终需要做一些类似的事情,但现在我会将延迟渲染设置为false,并在应用程序启动时渲染所有选项卡。为了提高性能,我将在更好地了解MVC的细节后使用此选项。再次感谢你的建议。非常感谢你,这项工作现在已经奏效了。我可能不得不做一些不同的事情,因为标签上有太多的内容不需要在一开始就呈现出来,但现在我感觉已经完成了我想要的。非常感谢,它帮助了您:-