У меня есть базовый макет, в котором различные компоненты могут быть выбраны с помощью древовидного представления, а затем отображены на главной панели. Это отлично работает для всех моих компонентов (например, сеток), но дает сбои с формами.
При первом выборе формы все в порядке, как только вы попытаетесь выбрать ее снова, ничего не отображается.
Демонстрация доступна здесь, а в верхней части страницы есть ссылка на javascript.
http://www.somethingorothersoft.com/ext
Выбор компонента происходит в функции selectNode, и я пробовал все, что мог, без особого результата.
Редактировать, как указал Джим Бэрроуз, было бы лучше создать экземпляр компонента в функции создания. Я не решался сделать это, так как это довольно серьезное изменение в моем реальном приложении, и я хотел на самом деле сохранить экземпляры для облегчения навигации между ними.
Теперь, когда я написал это, я понял, что для правильного выполнения состояния мне придется хранить его на сервере независимо от того, перейдет ли браузер на другую страницу...
Редактировать Я внес изменение, чтобы всегда создавать экземпляры форм таким образом, теперь это намного больше extJSy :) :
components['Form1'] = { xtype:'form', "items": [
{ "name": "Rep_ID", "allowBlank": false, "fieldLabel": "Rep" },
{ "name": "Date", "allowBlank": false, "fieldLabel": "Date", "xtype": "datefield" },
{ "name": "Time", "allowBlank": true, "fieldLabel": "Time", "xtype": "timefield"}],
"defaults": { "xtype": "textfield" }
};
components['Form2'] = { xtype: 'form', "items": [
{ "name": "Date", "allowBlank": false, "fieldLabel": "Date", "xtype": "datefield" },
{ "name": "Time", "allowBlank": true, "fieldLabel": "Time", "xtype": "timefield"}],
"defaults": { "xtype": "textfield" }
}