Отключить 3-е состояние в угловом материале MatSortable - PullRequest
0 голосов
/ 21 сентября 2018

Существует три состояния в направлении сортировки MatSortable.Есть ли способ отключить 3-е состояние?Он имеет 'asc' | 'desc' | '', для идентификатора доступно только 'asc' | 'desc'.В настоящее время я фильтрую направление сортировки, но мне интересно, достаточно ли это интуитивно понятно с точки зрения пользователей, чтобы не выглядеть ошибкой, даже если в заголовке отображается стрелка с текущим направлением сортировки (см. Изображения ниже).

Перехватчик жизненного цикла Oninit Я устанавливаю сортировку по умолчанию, думал, что установка disableClear на true исправит это, но не будет.Любая помощь приветствуется!

defaultSort: MatSortable = {
  id: 'displayName',
  start: 'asc',
  /**
   * Whether to disable the user from clearing the sort by finishing the sort direction cycle.
   * May be overriden by the MatSortable's disable clear input.
   */
  disableClear: True
};

ngOnInit() {
  this.sort.sort(this.defaultSort);

  this.sort.sortChange.pipe(
    filter(sort => !!sort.direction),
    switchMap(sort => {
      // makes API request only with an actual direction.
    })
  );
}

Нет направления сортировки: No sort direction

С направлениями сортировки: asc enter image description here

1 Ответ

0 голосов
/ 21 сентября 2018

Я немного неясен с вашим кодом, но он похож на это:

У вас есть это на вашем компоненте

@ViewChild(MatSort) sort: MatSort;

и

  ngOnInit() {
    ....
    this.dataSource.sort = this.sort;
  }

добавить эту строку после определения сортировки

this.sort.disableClear = true;

Пример Stackblitz

...