Как получить элементы выбранной строки и показать ее с помощью angular 2+ и машинописного текста

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

Код, который я написал до сих пор,

Разметка HTML:

<mat-tab label = "PINS" flex>
    <div id = "pinsDataSource" *ngFor = "let pin of pins; let i = index" (click) = "setClickedRow(i)" [class.alertactive] = "i == selectedRow">

              {{pin.alertTitle}}  
              {{pin.alertCode}} 
              {{pin.date | date:'MM/dd/yyyy'}}

    </div>  
</mat-tab>

Здесь я хочу показать элементы, которые я выбрал из этой конкретной строки, например:

<div>
  Selected Row :
  <strong>{{selectedRow}}</strong>
</div>

component.ts файл:

pins: any[];
selectedRow: Number;
setClickedRow: Function;

constructor(private proService: ProService) {
  this.setClickedRow = function (index) {
    this.selectedRow = index;
  }
}

ngOnInit() {
  // here the table items are called from webapi
  this.proService.getPinnedAlerts().subscribe(res => {
    this.pins = res;
  });
}
}

Так что просто хотите выделить выбранную строку?

Prashant Pimpale 03.07.2018 13:29

Я понял это ... хотел выделить, а также зафиксировать элементы в строке, я также разместил ссылку ниже,

Chetan Birajdar 03.07.2018 16:24
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
1
2
3 564
4

Ответы 4

Передайте объект как параметр функции и назначьте параметр selectedRow

(click) = "setClickedRow(pin )"

setClickedRow(pin ){

   this.selectedRow = pin
}

Вы используете setClickedRow как функцию в разметке, но она определяется как свойство в файле машинописного текста. Удалите код внутри конструктора. Вместо этого сделайте это

selectedRow: Number;
setClickedRow(i){
  this.selectedRow = i;
}
constructor(private proService: ProService) {
  this.setClickedRow(index);
}

Просто передайте экземпляр данных ваших контактов в свою функцию, то есть вы вызываете div, как показано ниже:

     <mat-tab label = "PINS" flex>
        <div id = "pinsDataSource" *ngFor = "let pin of pins; let i = index" (click) = "setClickedRow(i, pin)" [class.alertactive] = "i == selectedRow">

                  {{pin.alertTitle}}  
                  {{pin.alertCode}} 
                  {{pin.date | date:'MM/dd/yyyy'}}

          </div>  
      </mat-tab>

Я передал экземпляр данных контактов и сохранил его в вашем ts-файле.

    pins: any[];
    selectedRow: Number;
    setClickedRow: Function;

    constructor(private proService: ProService) {
    this.setClickedRow = function (index) {
      this.selectedRow = index;
    }
    }

    ngOnInit() {
    // here the table items are called from webapi
    this.proService.getPinnedAlerts().subscribe(res => {
      this.pins = res;
    });  

    }

    setClickedRow( index, rowData)
       console.info("row data", rowData);
    }

Я нашел ответ здесь, это тоже может помочь другим

https://angular.io/tutorial/toh-pt2https://stackblitz.com/angular/xongoyjllpr?file=src%2Fapp%2Fheroes%2Fheroes.component.ts

Другие вопросы по теме