open Collapse after updating array

Asked

Viewed 40 times

-2

I have a Collapse that when I click on it, comes the data of the array, there is a button that opens the modal, when I open the modal I click 'FINISH', then when I send the data to the api, and then update the array, only when I update the array Collapse closes and does not open, have tried using $(#dadosColab-0).Collapse('show') and was not.

HTML:

 <a href="#dadosColab-{{ i }}" class="btn btn-outline-primary but-href"
                          data-toggle="collapse">{{formatDate(dados.key)}}</a>
    <div id="dadosColab-{{ i }}" class="collapse {{i}}">
             ....
    <button type="button" class="btn btn-primary button_not_auth" data-backdrop="static" data-toggle="modal" data-target="#modalExemplo" (click)="notAuth(dados, i)">
        Não aut.
       </button>

     <div class="modal fade" id="modalExemplo" tabindex="-1" role="dialog"
                        aria-labelledby="exampleModalLabel" aria-hidden="true">

    ....
<form [formGroup]="NotAuthBh" (ngSubmit)="onSubmit()">
     <div class="modal-footer">
        <button type="submit" class="btn btn-primary 
       button_visu">Finalizar</button>
       <button type="button" class="btn btn-primary button_not_auth"
        data-dismiss="modal">Cancelar</button>
      </div>
</form>
    </div>    
   </div>

TS:

onSubmit(){
 //aqui envio os dados para api e chamo a function que faz a requisição na api para atualizar os dados.
this.getAllResults() //function q atualiza array
}

getAllResults(){
...
$(`#dadosColab-0`).collapse('show') //chamo p abrir o modal, mas ele nao abre de jeito nenhum
}

1 answer

0

I resolved so:

 OnSubmit() {
$('#modalExemplo').modal('hide');      
        let dados = this.dados;
        this.dadosColab = this.dadosColab.filter(function (elem, index, array) {
            return array[index] !== dados;
        })
         this.dadosColab;

        setTimeout(function(){ $(`#dadosColab-0`).collapse('show'); }, 0);

}

Browser other questions tagged

You are not signed in. Login or sign up in order to post.