카드 레이아웃의 항목을 변경할 수 있습니까? 문서를 페이징하는 것과 같은 레이아웃을 사용하고 싶습니다. 아래의 코드에서 페이지 1, 2 및 3을 표시합니다. "Option"을 클릭하고 카드 레이아웃의 항목을 변경하면 테스트를 시도했습니다.ExtJS4 - 카드 레이아웃 항목
var cards = [{
id: 'card-0',
html: 'Page 1',
border: false
}, {
id: 'card-1',
html: 'Page 2',
border: false
}, {
id: 'card-2',
html: 'Page 3',
border: false
}];
var document = Ext.create('Ext.form.Panel', {
id: 'testcard',
padding: '0 0 5 5',
title: 'test',
layout: 'card',
region: 'center',
activeItem: 0, // index or id
tbar: [{
id: 'test',
text: 'Options',
handler: function (btn) {
cards = [{
id: 'card-1',
html: 'Page AAAAAAAAAAAA',
border: false
}, {
id: 'card-2',
html: 'Page BBBBBBBBBBBB',
border: false
}];
Ext.getCmp('testcard').doLayout();
}
}],
bbar: ['->', {
id: 'move-prev',
text: '« Previous',
handler: function (btn) {
navigate(btn.up("panel"), "prev");
},
disabled: true
}, {
id: 'move-next',
text: 'Next »',
handler: function (btn) {
navigate(btn.up("panel"), "next");
}
}],
items: cards
});
다른 방법이 있습니까? html을 표시하는 1 셀이있는 격자?
내가하려는 것은 이미지 목록을 한 번에 하나씩 표시하는 것입니다. 반환 된 json은 콜렉션의 크기에 따라 다릅니다. 이것을 시뮬레이션하기 위해 카드 레이아웃을 사용하고 싶었지만이 방법이 최선의 방법은 아닐 수도 있습니다. 격자보기로 가면 셀이 HTML을 렌더링 할 수 있고 img src를 입력하고 페이징을 1로 설정할 수 있습니다. – fes
그와 비슷한 것을 가지고 있으며 실제로 html로 렌더링 한 패널이었습니다. 사진 URL을 저장하고 이전 및 다음 상점은 Ext.Template의 덮어 쓰기 메서드를 사용하므로 그림 템플릿을 사용하여 tpl.overwrite (panel.body, urlOfTheNextOrPrevPicture); 나는 그것이 더 간단한 방법 일 것이라고 생각한다. – nscrob
페이징을 어떻게 처리 했습니까? 사용자 정의 무언가를 작성해야 했습니까? 아니면 페이징 메커니즘이 상점에 내장되어 있습니까? HTML 템플릿에 다음과 prev를 쓰지 않고 툴바를 탐색에 사용하는 것이 좋습니다. – fes