我正在使用 YUI Paginator API进行分页,我需要在屏幕上显示总页数。我看到API中有一个函数 getTotalPages(),但我不确定如何使用它,没有足够的文档。在查看了一些其他文档之后,我尝试使用 {totalPages} 但是没有用。 有人可以在这个问题上帮助我吗?提前致谢!! 以下是我正在使用的代码段。请参阅config:
中的模板对象config = {
rowsPerPage: 100,
template :
'<p class="klass">' +
'<label>Total pages: {totalPages}</label>'+
'<label>Page size: {RowsPerPageDropdown}</label>'+
'</p>',
rowsPerPageDropdownClass : "yui-pg-rpp-options",
rowsPerPageOptions : [
{ value : 100 , text : "100" },
{ value : 250 , text : "250" },
{ value : 500 , text : "500" },
{ value : 1000 , text : "1000" },
{ value : tstMap[tabName].length , text : "All" }
],
};
var myPaginator = new YAHOO.widget.Paginator(config);
答案 0 :(得分:1)
Paginator实用程序允许您显示一个项目或一组项目,具体取决于您希望一次显示的项目数。
Paginator的主要功能包含在paginator-core中,并混合到paginator中,以允许paginator添加额外的功能,同时保持核心功能不变。这使得paginator-core可以在以后使用,或者如果它是您需要的唯一部分则可以单独使用。
由于paginator可能包含大量接口,Paginator不包含任何可立即使用的UI。但是,Paginator可以在任何基于基础的模块(如Widget)中使用,通过扩展您想要的类并在Paginator中混合。这在以下示例中显示:
YUI().use('paginator-url', 'widget', function (Y){
var MyPaginator = Y.Base.create('my-paginator', Y.Widget, [Y.Paginator], {
renderUI: function () {
var numbers = '',
i, numberOfPages = this.get('totalPages');
for (i = 1; i <= numberOfPages; i++) {
// use paginator-url's formatUrl method
numbers += '<a href="' + this.formatUrl(i) + '">' + i + '</a>';
}
this.get('boundingBox').append(numbers);
},
bindUI: function () {
this.get('boundingBox').delegate('click', function (e) {
// let's not go to the page, just update internally
e.preventDefault();
this.set('page', parseInt(e.currentTarget.getContent(), 10));
}, 'a', this);
this.after('pageChange', function (e) {
// mark the link selected when it's the page being displayed
var bb = this.get('boundingBox'),
activeClass = 'selected';
bb.all('a').removeClass(activeClass).item(e.newVal).addClass(activeClass);
});
}
});
var myPg = new MyPaginator({
totalItems: 100,
pageUrl: '?pg={page}'
});
myPg.render();
});