내 구성 요소 중 하나에 p-dialog 내에 p-datatable을 표시하고 있습니다. 사용자가 이전에이 테이블에서 행을 거의 선택하지 않은 경우 사용자가 다음에 p-dialog를 방문 할 때 선택된 행을 표시해야합니다.primeng : Datatable 바인딩 선택 속성을 비동기 적으로
선택한 항목의 배열을 p- 데이터 테이블의 selection
속성에 전달 중입니다. 그러나 행은 화면에서 선택된 것으로 표시되지 않습니다.
같은 행을 다시 선택하면 selection
속성에서 두 번 표시됩니다. 즉, 미리 선택된 행은 selection
속성에 올바르게 보관되지만 어떤 식 으로든 html
에 바인딩되지 않습니다.
*ngIf
에 전체 p-dialog를 감싸려고했지만 데이터가 수신 된 후에 만 생성되지만 아무런 차이가 없었습니다.
선택한 행을 p- 데이터 테이블에 바인드하려면 어떻게해야합니까?
<div *ngIf="data && data.length" class="col-sm-12">
<p-dataTable #ListRef [value]="data" rowHover="true" [multiSortMeta]="multiSortMeta" (onRowSelect)="onSelect($event)" [(selection)]="selectedData" (onRowUnselect)="onUnSelect($event)">
<p-column field="launchDate" header="Launch Date" [sortable]="true"></p-column>
<p-column field="endDate" header="End Date" [sortable]="true"></p-column>
</p-dataTable>
</div>
는 또한
ViewChild
를 사용하여 참조를 페치 거기
selection
속성 값을 할당 시도했다. 그것도 아무런 차이가 없었습니다.
그러나 ngOnInit
메서드에서 이미 data
및 selectedData
을 사용할 수 없다면 문제가 발생하지 않는다는 것을 알았습니다.
아이디어가 있으십니까?
선택한 항목의 배열을 'selectedData'선택 속성에 어떻게 전달합니까? 할당 후보기가 새로 고쳐지지 않을 수도 있습니다. 푸시 대신 스프레드 연산자를 사용해보십시오. – TimeTraveler
그냥'selection' 속성에 배열을 할당합니다. –