我有一個按鈕的表添加一個新的元素和行中的另一個編輯元素。這些操作共享相同的表單,唯一不同的是在編輯模式下填充表單。當用戶點擊按鈕時,窗體將顯示一個新窗口。是否可以在Extjs4的兩個不同的窗口中使用相同的窗體?
第一次,我點擊按鈕,例如,添加一個新的元素,工作正常。顯示錶格。但是...如果我關閉窗口,並嘗試編輯用戶,出現無內容的錯誤窗口並出現錯誤「TypeError:b is null」這是表單的定義問題嗎?窗口可能會刪除窗體?
我在一個VAR定義的形式:
var formPanel = Ext.create('Ext.form.Panel',{
extend: 'Ext.form.Panel',
id: 'policyForm',
...
我對電網的TBAR一個按鈕來顯示窗口,以添加一個用戶和另一個按鈕要編輯的行他。這是該按鈕的處理程序:
handler : function(){
Ext.create('Ext.window.Window',{
layout: 'fit',
title: 'New Policy',
items: [formPanel],
width: 650,
height: 500,
id: 'myPolicyWindow'
}).show();
}
謝謝你kevhender。我解決了它刪除ID的,定義一個自定義窗體,然後我爲我的窗口創建不同的實例。我不會再使用id屬性。無論哪種方式,如果您使用itemId設置元素,您如何調用它來獲取實例? – mannuk
您將需要使用組件查詢按關係導航組件。當使用'itemId'時,在組件查詢中使用'#'符號:'parentCmp.down('#childCmpId')'。請參閱http://docs.sencha.com/extjs/4.2.1/#!/api/Ext.ComponentQuery上的文檔。 – kevhender
謝謝@kevhender。看起來像jquery :) – mannuk