ExtJS를 처음 접했습니다. 스크립트 도중 패널을 제거하려고하는데 한 번만 패널을 추가 할 수 있습니다. 내가 다시 추가하려고하는 순간 그것은 오류 나는 기본적으로 그냥 제거하고 취소 버튼을 누를 경우에 패널을 추가ExtJS 3.2 한 번만 패널을 추가 할 수 있습니다.
TypeError: b.getPositionEl(...).dom is undefined
Ext.layout.ContainerLayout<.isValidParent()
ext-all.js:7
Ext.layout.ContainerLayout<.renderAll()
ext-all.js:7
Ext.layout.ContainerLayout<.onLayout()
ext-all.js:7
Ext.layout.AutoLayout<.onLayout()
ext-all.js:7
Ext.layout.ContainerLayout<.layout()
ext-all.js:7
Ext.Container<.doLayout()
ext-all.js:7
Ext.Container<.doLayout()
ext-all.js:7
restart()
RunScript:138
h.Event.prototype.fire()
ext-all.js:7
h.Observable.prototype.fireEvent()
ext-all.js:7
.onClick()
keyscript-all.js:4
I()
를받을 수 있습니다. 계속 버튼을 누르면 모든 것이 잘 표시되고, 새 패널이 표시되고 수집 된대로 데이터가 렌더링되며 오류가 표시되지 않습니다. 하지만 취소 버튼을 누르면 제거하려는 패널은 사라지지만 일단 위에서 설명한 오류가 발생하면 optionPanel을 추가하려고 시도합니다. 그러나 완전히 다른 패널을 추가 할 수 있으며 오류가 표시되지 않습니다.
var workPanel = new CR.FormPanel({
id: 'workPanel',
title: 'Bad Address Workflow',
region: 'center',
frame: true,
labelWidth: 300,
autoScroll: true,
bodyStyle: {
padding: '5px',
font: '12px arial,tahoma,helvetica,sans-serif'
},
buttons:[
{
text: 'Post',
listeners: {
click: doPost
}
},
{
text: 'Cancel',
listeners: {
click: restart
}
}
],
buttonAlign: 'left'
});
var optionPanel = new CR.FormPanel({
id: 'optionPanel',
title: 'Bad Address Workflow',
region: 'center',
frame: true,
labelWidth: 175,
bodyStyle:'padding:5px 5px 0',
defaults: {
width: 230
},
items: [
{
xtype: 'crOptionField',
crColumnDescription: 'Choose Bad Address Workflow',
crColumnName: 'workflowOptions',
crOptions: [
["",""],
["0","Set Bad Address"],
["1","Remove Bad Address"]
]
}
],
buttons: [
{
text: 'Continue',
listeners: {
click: function(button,event){
var fields = optionPanel.find('crColumnName','workflowOptions');
if(parseInt(fields[0].crGetNewContents()) === 0){
workflow = 0;
getMemberData();
}else if(parseInt(fields[0].crGetNewContents()) === 1){
workflow = 1;
getMemberData();
}else{
CR.Core.displayExceptions({ items: ['You have not selected an option.'] });
}
}
}
}
],
buttonAlign: 'left'
});
var container = new Ext.Container({
id: 'container',
frame: true,
region: 'center',
bodyStyle:'padding:5px 5px 0',
defaults: {
xtype: 'container'
}
});
Ext.onReady(function(){
container.add(optionPanel);
CR.Core.viewPort = new Ext.Viewport({
layout: 'border',
region: 'center',
items: [container]
});
});
function restart(){
container.remove(workPanel);
container.add(optionPanel);
CR.Core.viewPort.doLayout();
}
function getMemberData(){
container.remove(optionPanel);
container.add(workPanel);
CR.Core.viewPort.doLayout();
//My data collection process
}
어떤 도움
이 크게 감사합니다.