【问题标题】:Problems with total number of pages in uib-pagination in angularJsangularJs中uib-pagination中总页数的问题
【发布时间】:2018-09-29 09:57:37
【问题描述】:

有一个关于类似主题 Calculating total-items in AngularJs Pagination (ui.bootstrap) doesn't work correctly 的旧帖子没有回答我的问题,我不知道如何添加。

我们有一个复杂的 smList 指令,它在页面底部有以下 html

<div class="text-center" ng-show="vm.table.pageCount > 1">
  <ul uib-pagination 
      total-items="vm.table.totalCount"
      ng-model="vm.table.pageNumber"
      items-per-page="vm.table.pageSize"
      max-size="5"
      rotate="false"
      ng-change="vm.selectPage()"
      previous-text="@Labels.previous"
      next-text="@Labels.next"></ul>
</div>

在某些情况下,总页数不会正确更新。说,我用过滤器进行搜索并得到 4 页,当删除过滤器时,我应该得到更多的页面(超过 5 个)。即使在跟踪代码时,我仍然看到相同的 4 页,我在控制器 table.totalCount 中看到了正确的数字。

我们应该怎么做才能解决这个问题?我们是否应该在运行搜索之前始终将 totalCount 设置为 0?

在从服务器返回结果的搜索代码中,我们有以下内容:

.then(function (data) {
                log.debug("After main search return...");

                self.results = data.list;
                self.table.totalCount = data.totalCount;
                self.table.pageCount = data.pageCount;
                self.table.pageSize = data.pageSize;
                self.table.pageNumber = data.pageNumber;                

                self.showResults = true;

我们可以使用从服务器返回的页数来代替设置总项目数(就像我们在那里做数学一样)?有没有办法为uib-pagination而不是total-items设置pagecount ?

【问题讨论】:

  • 你能发布你的完整代码吗?
  • 这里是什么意思?模板和指令都非常复杂,不可能贴出来。我在进行搜索之前添加了将 totalCount 设置为 0,但这并没有解决问题。似乎只有在我单击列表中的行以首先显示编辑表单时才会出现问题。
  • 所以我们需要在你的控制器中猜测你的代码?
  • 我在帖子中添加了一些代码。正如我所说,该代码在指令中(在其控制器中),而不是在页面控制器中。
  • 它默认为null,它将显示容器中可能的最大页面,检查documentation以查看如何设置页面限制并添加prev/next如果你想要

标签: javascript html angularjs angularjs-directive pagination


【解决方案1】:

更新。似乎问题出在我们的指令 RowClick 代码中。一旦我注释掉一行代码,问题似乎就解决了。

所以,这不是一个答案,但我认为只有在我打开编辑表单时才会显示该错误。

索引页面如下所示:

<div ng-controller="DynamicRulesController">
    <div ng-controller="dynamicRulesSearchController">
        <data-sm:list data-name="dynamicRules"
                      data-table="table"
                      data-hide-hidden-filter="true"
                      data-show-search="true"
                      data-can-hide-search="false"
                      data-on-before-new-record="onBeforeNewRecord"  
                      data-dont-go-to-new-state="true"                   
                      data-pk="ruleId"
                      data-param-id="id"
                      data-heading="heading">
        </data-sm:list>     
    </div>

    <div class="edit-container ng-cloak" ng-show="!isEditLoading" ui-view autoscroll="false"></div>
</div>

只要我停留在索引页面并且不打开编辑表单(ui-view),分页就可以正常工作。一旦我打开我的编辑表单,它就会停止工作。与状态和 ui-view 相关的东西似乎会干扰。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-14
    • 2018-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-14
    • 1970-01-01
    • 2016-04-20
    相关资源
    最近更新 更多