Por gentileza, gostaria de uma força para resolver um problema.
Estou usando o componente P-TABLE do PRIMENG para listar os resultados na tela, porém para cada linha eu preciso acessar uma API para verificar se os dados daquela linha podem ser alterados, então estou usando o seguinte código abaixo, note que estou fazendo uma chamada para para o método onIsDisabled que contém a chamada para minha API:
<p-table [value]="retornoPesquisa"
[(selection)]="selecaoDocumentos"
[showCurrentPageReport]="true"
dataKey="idDocumento"
[selectionPageOnly]="true"
[tableStyle]="{'min-width': '50rem'}">
<ng-template pTemplate="header">
<tr>
<th style="width: 4rem" width="5%">
<p-tableHeaderCheckbox></p-tableHeaderCheckbox>
</th>
<th style="min-width:200px" width="10%">NOME</th>
</tr>
</ng-template>
<ng-template pTemplate="body" let-retorno>
<tr>
<td>
<p-tableCheckbox [value]="retorno" [disabled]="retorno.bloquear || retorno.action !== ''"></p-tableCheckbox>
</td>
<td>{{ onIsDisabled(retorno) }}
{{retorno.nome}}
</td>
</tr>
</ng-template>
</p-table>
onIsDisabled(row: any) :void {
this.service.verificarStatus(row.id).subscribe({
next: (retorno) => {
row.bloquear = retorno.bloquear
},
error: (error) => { console.log(error) },
complete: () => { console.log('Observable completado') }
});
}
O problema de se fazer assim é que o método onIsDisabled fica sendo chamado até dar erro net::ERR_INSUFFICIENT_RESOURCES
Como eu posso resolver esse problema?