angular - Primeng چگونه شماره ردیف (rowIndex) ردیف باز شده را بدست آوریم؟


 <p-dataTable [value]="services" [paginator]="true" expandableRows="true" rowExpandMode="single">
...</p-dataTable>

چیزی شبیه به این وجود دارد

<ng-template let-col let-period="rowData" let-ri="rowIndex"   pTemplate="body">...</ng-template>

برای جدول داده

پاسخ شماره ۱

در ng-template شما برای گسترش ردیف از کد زیر استفاده کنید

<ng-template let-i="rowIndex">

   <button (click)="expand(i)"> expand </button>
</ng-template>

در دکمهای که در هنگام گسترش کلیک میشود، از کد زیر برای دریافت rowindex استفاده کنید

expand(i){
    //... your logic to expand the row...
    this.expandedRowIndex = i;
}

 <p-dataTable [value]="services" [paginator]="true" expandableRows="true" rowExpandMode="single" (onRowExpand)="onRowExpand($event)">

بهروزرسانی ۱: همانطور که شما روی کل ردیف برای گسترش کلیک میکنید، میتوانید از ویژگی onRowExpand در <p-datatable> برای دستیابی به این کار استفاده کنید.

onRowExpand(cc){
    console.log(cc)
    //logs the entire object which is clicked     
  }

این روش هنگامی که ردیف گسترش مییابد فعال میشود

نمایش زنده

پاسخ شماره ۲

<ng-template let-i="rowIndex" let-line pTemplate="rowexpansion">

rowIndex احتمالاً اکنون به rowExpansion اضافه شده است، در آخرین نسخه برای من کار میکند