将值设置为尚未呈现的表单

时间:2012-09-03 09:43:34

标签: forms extjs extjs4.1

我在标签中有一个表单。它是第二个标签,因此在您打开它之前它不会呈现。

我尝试使用Ext.getCmp('DetailsForm').getForm().setValues(selections[0]);向表单提交数据,但它表示它不是一个函数。可能是因为它尚未渲染。我该怎么办?

3 个答案:

答案 0 :(得分:3)

将Ext.tab.Panel的deferredRender配置属性设置为deferredRender: false

这会强制渲染所有标签而不仅仅是活动标签。现在表格将在那里。如前所述,我建议你也使用myTabPanelRef.down('from')。getForm()。setValues(selections [0]);访问表单。

答案 1 :(得分:0)

订阅第二个标签show事件或painted事件
然后最好通过使用.down()方法查找表单,因为这不会在整个DOM中查看。 设置值

答案 2 :(得分:0)

使用表单面板的呈现事件。 你的代码将是这样的 -

Ext.getCmp('DetailsForm').on('render', function(){ this.getForm().load(selections[0]); });