javascript - 为 mg-table-pagination AngularJS 指定分隔符

标签 javascript angularjs pagination angular-material

考虑由 https://codepen.io/anon/pen/BjvLVJ?editors=1100 生成的表格的图像

我想更改分页的显示方式,因为它在打印上不正确。它应该显示

1–5 of 9

1 和 5 之间没有空格,并且 en-破折号作为分隔符。

根据https://github.com/daniel-nagy/md-data-table#pagination ,该功能可能应该位于 md-label 中,但该对象只有三个属性:ofpagerowsPerPage

有办法实现这一点吗? https://material.angular.io/components/table/overview#pagination不提供解决方案。

enter image description here

最佳答案

一种解决方案是修改 md-data-table.js包含您的自定义 html 模板的库。 下载脚本并将以下部分修改为

<div class="label">{{$pagination.min()}}–{{$pagination.max()}} {{$pagination.label.of}} {{$pagination.total}}</div>

完整的 html md-table-pagination.html 模板

angular.module('md-table-pagination.html', []).run(['$templateCache', function($templateCache) {
  $templateCache.put('md-table-pagination.html',
    '<div class="page-select" ng-if="$pagination.showPageSelect()">\n' +
    '  <div class="label">{{$pagination.label.page}}</div>\n' +
    '\n' +
    '  <md-select virtual-page-select total="{{$pagination.pages()}}" class="md-table-select" ng-model="$pagination.page" md-container-class="md-pagination-select" ng-change="$pagination.onPaginationChange()" ng-disabled="$pagination.disabled" aria-label="Page">\n' +
    '    <md-content>\n' +
    '      <md-option ng-repeat="page in $pageSelect.pages" ng-value="page">{{page}}</md-option>\n' +
    '    </md-content>\n' +
    '  </md-select>\n' +
    '</div>\n' +
    '\n' +
    '<div class="limit-select" ng-if="$pagination.limitOptions">\n' +
    '  <div class="label">{{$pagination.label.rowsPerPage}}</div>\n' +
    '\n' +
    '  <md-select class="md-table-select" ng-model="$pagination.limit" md-container-class="md-pagination-select" ng-disabled="$pagination.disabled" aria-label="Rows" placeholder="{{ $pagination.limitOptions[0] }}">\n' +
    '    <md-option ng-repeat="option in $pagination.limitOptions" ng-value="option.value ? $pagination.eval(option.value) : option">{{::option.label ? option.label : option}}</md-option>\n' +
    '  </md-select>\n' +
    '</div>\n' +
    '\n' +
    '<div class="buttons">\n' +
    '  <div class="label">{{$pagination.min()}}–{{$pagination.max()}} {{$pagination.label.of}} {{$pagination.total}}</div>\n' +
    '\n' +
    '  <md-button class="md-icon-button" type="button" ng-if="$pagination.showBoundaryLinks()" ng-click="$pagination.first()" ng-disabled="$pagination.disabled || !$pagination.hasPrevious()" aria-label="First">\n' +
    '    <md-icon md-svg-icon="navigate-first.svg"></md-icon>\n' +
    '  </md-button>\n' +
    '\n' +
    '  <md-button class="md-icon-button" type="button" ng-click="$pagination.previous()" ng-disabled="$pagination.disabled || !$pagination.hasPrevious()" aria-label="Previous">\n' +
    '    <md-icon md-svg-icon="navigate-before.svg"></md-icon>\n' +
    '  </md-button>\n' +
    '\n' +
    '  <md-button class="md-icon-button" type="button" ng-click="$pagination.next()" ng-disabled="$pagination.disabled || !$pagination.hasNext()" aria-label="Next">\n' +
    '    <md-icon md-svg-icon="navigate-next.svg"></md-icon>\n' +
    '  </md-button>\n' +
    '\n' +
    '  <md-button class="md-icon-button" type="button" ng-if="$pagination.showBoundaryLinks()" ng-click="$pagination.last()" ng-disabled="$pagination.disabled || !$pagination.hasNext()" aria-label="Last">\n' +
    '    <md-icon md-svg-icon="navigate-last.svg"></md-icon>\n' +
    '  </md-button>\n' +
    '</div>');
}]);

关于javascript - 为 mg-table-pagination AngularJS 指定分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47034112/

相关文章:

javascript - GoogleMap offsetWidth问题

angularjs - 如何在 Angular route 传递查询字符串?

testing - 如何在 AngularJs 中使用私有(private)方法编写可测试的 Controller ?

javascript - 如何使用javascript计算每页的项目数及其索引?

pagination - 对 redshift 查询进行分页的最佳方式是什么?

javascript - 有没有办法让窗口事件先触发

javascript - 用于多个 DNS 服务器的 JS 正则表达式

php - php中的分页显示多个页面的数据

javascript - 光标在不同浏览器中文本区域元素末尾的行为

javascript - AngularJS Ng-model-options 无法在 getter-setter 函数中选择对象