Вызов одного метода перед другим - PullRequest
0 голосов
/ 16 октября 2018

У меня есть следующие 2 метода:

private rowClicked : any;

  onButtonClicked() {
    console.log(this.rowClicked) // undefined
  }
  onRowClicked(event: any)() { 
     this.rowClicked = event.data;
  }

Я хочу удалить строку в моей ag-сетке при нажатии кнопки, присутствующей в каждой строке.Однако при нажатии на кнопку без предварительного щелчка по самой строке выбранная строка не может быть сохранена (не определена).

Я понял, что внутри метода onRowClicked у меня есть доступ к выбранной строке, даже если я сначала нажимаю только на кнопку (без выбора строки).

Итак, я подумал о том, чтобыполучить мою строку внутри onRowClicked () и затем передать ее в onButtonClicked () .

По умолчанию и из-за ограничений приложения onButtonClicked () называется ДО onRowClicked () , в результате чего this.property в onButtonClicked () будет неопределенным.

Как навязать onRowClicked () для вызова до onButtonClicked () ?

Ответы [ 2 ]

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

Вы можете установить флаг в событии щелчка кнопки и обработать команду, если флаг установлен, когда инициируется событие щелчка строки:

private rowClicked : any;
private shouldProcessCommand = false;

onButtonClicked() {
  this.shouldProcessCommand= true;
}

onRowClicked(event) {
  this.rowClicked = event.data;

  if (this.shouldProcessCommand) {
    this.shouldProcessCommand= false;

    // Do some processing with rowClicked
    ...
  }
}

См. этот стек длядемо.

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

ЕСЛИ вы используете кнопку как часть вашей сетки, тогда вы можете воспользоваться событием cellclicked и избавиться от события buttonClicked и rowClciked.Cellclick должен быть в состоянии обработать ваш запрос!https://www.ag -grid.com / javascript-grid-events /

Надеюсь, это поможет!

...