2017-04-25 14 views
0

YUI Paginator 페이지 매기기 용 API를 사용하고 있으며 총 페이지 수를 화면에 표시해야합니다. API에 getTotalPages() 함수가 있지만 사용 방법이 확실하지 않습니다. 설명서가 충분하지 않습니다. 또한 다른 문서를보고 난 후에 {totalPages}을 사용해 보았지만 제대로 작동하지 않았습니다. 누가이 문제에 대해 도움을 줄 수 있습니까? 미리 감사드립니다 !! 아래 코드는 제가 사용하고있는 코드입니다. 설정에서 템플릿 객체를 참조하십시오표시 방법 YUI Paginator의 총 페이지 수는 얼마입니까?

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); 

답변

1

페이지 배열 유틸리티는 항목이나 한 번에 표시 할 항목의 수에 따라 항목 그룹을 표시 할 수 있습니다.

Paginator의 주요 기능은 paginator-core에 포함되어 있으며 paginator에 추가되어 paginator에 추가 기능이 추가되어 핵심 기능을 그대로 유지합니다. 이것은 paginator-core가 나중에 사용 가능하게 유지되거나 필요한 유일한 조각 인 경우 격리되어 사용됩니다.

페이징 담당자가 사용할 수있는 인터페이스가 너무 많아서 페이징 담당자는 사용할 준비가 된 UI가 없습니다. 그러나 Paginator는 원하는 클래스를 확장하고 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(); 
     });