Extjs를 사용하여 동적으로 새 탭을 추가하고 있습니다.하지만 사용자가 다시 방문 할 때마다 사용자가 동적으로 만드는 모든 탭을 렌더링해야하기 때문에 새로 추가 한 탭을 어딘가에 (아마 데이터베이스에) 저장할 수있는 방법이 있습니다. 그 페이지.Extjs 동적 탭을 저장하고 페이지로드시 다시 렌더링 할 수 있습니까?
나는 탭에서 쿠키의 상태를 저장할 수 있지만 .. 새로 만든 탭의 상태를 저장하려면 먼저 탭의 HTML (?) 스 니펫을 저장해야한다는 것을 알고 있습니다. 어딘가에? 여기 비현실적 일을하려고
var tab;
var tabIndex = 0;
var tabArray = [];
Ext.application({
launch: function() {
Ext.state.Manager.setProvider(new Ext.state.CookieProvider({
expires: new Date(new Date().getTime() + (1000 * 60 * 60 * 24 * 7))
}));
Ext.create('Ext.container.Viewport', {
layout: 'absolute',
items: [{
x: 50,
y: 50,
width: 300,
height: 300,
xtype: 'tabpanel',
stateful: true,
stateId: 'tp1',
stateEvents: ['tabchange'],
getState: function() {
return {
activeTab: this.items.findIndex('id',this.getActiveTab().id)
};
},
applyState: function(s) {
this.setActiveTab(s.activeTab);
},
items: [{
id: 'c0',
title: 'Tab One'
}, {
id: 'c1',
title: 'Tab Two'
}, {
id: 'c2',
title: 'Tab Three'
}],
bbar: [
{
text: 'Add Tab',
//region: 'south',
xtype: 'button',
handler: function() {
var tabs = this.up('tabpanel');
tab = tabs.add({
title: 'Tab ',
closable:true,
xtype:'panel',
width: '100%',
height: '100%',
items: []
}).show();
}
}
]
}]
});
}
});
암 : 여기
내 코드? 또는 어떻게 든 새로 생성 된 탭을 저장하고 페이지로드시 새로 생성 된 탭으로 전체 tabpanel을 렌더링 할 수 있습니까?
그런 광범위한 질문을 드려 죄송합니다.
감사합니다.
여전히 당신 싶어 어디 항목을 넣어하는 방법을 알고있는 HTML 코드 조각의 일종을 가지고 있지 않은거야? Json을 실제로 렌더링 할 수는 없습니까? 필자의 목표는 탭을 만드는 것이고, 각 탭에는 기본적으로 각 탭에 채워지는 포털 패널 안에 포털 패널과 사용자 추가의 포틀릿이 있습니다. 내 응용 프로그램에는 보유하고있는 탭의 수와 동적으로 업데이트되는 포틀릿의 수 및 유형이 기억되어야합니다. 조금 비현실적으로 보일지 모르겠지만 다소 가능합니다. Json을 저장하기 위해 위의 코드를 확장하여 작은 스 니펫을 제공 할 수 있다면 감사 할 것입니다. 감사합니다. –
내가 말하고자하는 것은 우리가 JSON을 기반으로 ExtJs 구성 요소를 다시 작성하십시오. JSON을 그렇게 렌더링 할 수는 없습니다. – hop
그리고 JSON 추출은 당신이하는 일이 아닙니다. JSON을 수동으로 생성해야합니다. 나는 코드를 편리하게 가지고 있지 않다. 당신이해야 할 일은 탭의 자식을 반복하고 수동으로 JSON – hop