如何在刑罚的extjs项目中多次添加容器

Posted

技术标签:

【中文标题】如何在刑罚的extjs项目中多次添加容器【英文标题】:How to add container multiple time in extjs item of penal 【发布时间】:2016-08-01 07:32:21 【问题描述】:

我有一个容器,我将它添加到我的面板项目中。 me.add(Contain);

我想在某些情况下多次添加这个容器。我正在使用 for 循环,最后我正在写作。 panel.doLayout(); 似乎只添加了一个容器。我是不是错过了什么。 如何在 extjs 面板的项目中旧多个容器。

【问题讨论】:

【参考方案1】:

你不能多次添加同一个实例,想想渲染系统是如何工作的,就像在 html 中节点只有 1 个父节点一样。

您必须添加容器的多个实例,但是您可以将相同的视图传递给它们(如果您想显示相同的数据)

因此,当您添加时,您必须创建容器的新版本,但如果您愿意,您可以共享商店、视图模型和其他数据

【讨论】:

我正在尝试处理afterrender,方法是将其推入一个数组并出现在屏幕上,但加载后屏幕卡住了。 @user6474292 你还在用你标签上的extjs3,还是已经是新版本了? 我正在使用extjs3 我将不得不猜测(我只使用更高版本),但您应该在此事件期间添加项目(不要忘记之后也将其删除)docs.sencha.com/extjs/3.4.0/#!/api/Ext.Panel-event-beforeadd 谢谢!!我在尝试。希望这对我有帮助。【参考方案2】:
Before add container multiple times in to your panel. Check that container 
you are adding does not have id or itemId as a config property.

So if you want to add that container multiple time you can use that container
with different itemId.
Otherwise it will add only one container and other added container will not
displayed on GUI.

【讨论】:

很好的答案。这个对我有用。非常感谢@Balram 另外,在一个简短的说明中,Container 现在正在添加panel。但如果项目更多,scroll 将不起作用。

以上是关于如何在刑罚的extjs项目中多次添加容器的主要内容,如果未能解决你的问题,请参考以下文章

如何在extjs4.1中减少轮播容器中三个视图的高度

如何在 ExtJS 5 中的网格编辑器组合框的当前记录中添加项目

extjs4如何多次显示字段

如何在不触发 selectionchanged 事件的情况下将项目添加到 ExtJS GridPanel

在 extjs 中向容器添加 iframe

当一个事件仍在进行中时,如何禁止用户多次单击操作列extjs