Как обновить длину в getRangeLabel mat paginator - PullRequest
4 голосов
/ 18 марта 2020
  @Injectable()
  export class MyCustomPaginatorIntl extends MatPaginatorIntl {
     public getRangeLabel = (page: number, pageSize: number, length: number): string => {

                if (length === 0 || pageSize === 0) {
                    return `${this.noRecord}`;
                }
                length = Math.max(length, 0);
                const startIndex = ((page * pageSize) > length) ?
                    (Math.ceil(length / pageSize) - 1) * pageSize :
                    page * pageSize;

                const endIndex = Math.min(startIndex + pageSize, length);
                this.getAndInitTranslations(startIndex, endIndex, length);
                return `${this.totalRecord}`;

            }
    }

Я пытаюсь обновить длину (итоговую запись), например, длину, скажем, 100, возможно ли передать значение длины getRangeLabel из другого файла ts в том же компоненте после вызова paginator dataSource.paginator = this.paginator;

export class NewComponent implements OnInit(){

    length = 120;
    public ngOnInit() {
          this.dataSource = new MatTableDataSource(this.data);
          this.dataSource.paginator = this.paginator

     //After this can i able to update the getRangeLabel with custom length 120
     }
}

1 Ответ

4 голосов
/ 27 марта 2020

Я предполагаю, что вы просто хотите установить общую длину мат-пагиатора. Вы ищете способ связать его со свойством компонента. Вы можете просто сделать это, связав его с помощью свойства input длины mat-paginator. Ниже приведен код, необходимый для его реализации:

Требуются изменения шаблона:

<mat-paginator [length]="length"
</mat-paginator>

Необходимы изменения в машинописи, скажем, у меня есть свойство с именем length:

length:number = 120;

Рабочий код можно найти здесь: https://stackblitz.com/edit/angular-xofqpn

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...