Невозможно правильно поменять строки данных из одной таблицы в другую под углом, используя угловой материал - PullRequest
0 голосов
/ 24 октября 2018

Я взял пример таблицы данных, используя угловой материал с некоторыми строками данных.Я также добавил пустую таблицу данных, в которую я перенесу строки из первой таблицы в пустую таблицу.

Я могу правильно переместить строки из первой таблицы во вторую таблицу.Но когда я выполняю действие selectAll, строки не выделяются.

Но когда я пытаюсь выбрать одну строку за раз и нажимаю Перейти к кнопке первой таблицы ,Вместо этого строка удаляется при переносе в первую таблицу.

Пожалуйста, войдите в мой образец приложения здесь

Ответы [ 2 ]

0 голосов
/ 24 октября 2018

Я только что пропустил выбор для проверенного источника данных ...

Замените код этим для выбора всех строк.

  /** Selects all rows if they are not all selected; otherwise clear selection. */
  masterToggle() {
    this.isAllSelected() ?
      this.selection.clear() :
      this.dataSource.data.forEach(row => this.selection.select(row));
    console.log(this.data);
  }

  masterCheckedToggle() {
    this.isAllCheckedSelected()?
      this.checkedSelection.clear() : 
      this.checkedDataSource.data.forEach(row => this.checkedSelection.select(row));
  }
0 голосов
/ 24 октября 2018

Вам не нужен приведенный ниже код, он удалит запись из вашей первой коллекции.

this.uncheckedData.splice(index, 1);

Если вы не хотите знать выбранные строки в более поздней точке, я бы предложил установитьIsSelected свойство

    this.selection.selected.forEach(item => {
          let index: number = this.uncheckedData.findIndex(d => d === item);
if(index){
          this.uncheckedData[index].IsSelected= true;
          this.checkedData.push(this.uncheckedData[index]);
          // this.uncheckedData.splice(index, 1);
}

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