Caros eu tenho o seguinte cenário. Tenho alguns checkBoks em uma tela, quando seleciono alguns vão para outra tela só os que eu selecionei. Fica lá na outra tela selecionado certinho. O problema que quando uso o botão que tem nesta tela pra fazer algo e como se ele não tivessem selecionados. Eles só funcionam se eu clicar novamente neles. Alguém sabe como eu capturo a informação de que eles estão selecionados para eu poder colocar no método? Ou… Ele são feitos o ngFor não tem Id , como eu apresento eles sem estarem marcados, assim o ususário teria que marcá-lo e o método seria invocado
Como tu implementou esse esquema de “enviar os checkboxes” para outra tela?
Já peguei pronto. Neste codigo abaixo se eu tento destiva a marcação do checkbox, a tela tela não faz o Ngfor completo da erro.
<div class="col-md-6" >
<label *ngFor="let registro of listaFornecedoresSelecionados" class="d-block">
<div *ngIf="!verificarNotificacaoFornecedorAdicionado(registro)"(change)="fornecedorClicado($event)">
<input type="checkbox" [(ngModel)]="registro.marcarConstrucaoNotificacao" [disabled]="!isFornecedorMarcado()" [ngModelOptions]="{standalone: true}">
{{registro.fornecedor.nome}}
<img class="indicador-fornecedor" src="assets/img/icone-fornecedor-eletronico.png"
*ngIf="(!registro.fornecedor.indicadorSuspensaoAtendimentoEletronico && registro.fornecedor.indicadorAtendimentoEletronico)" title="Este fornecedor responde eletronicamente" />
-
{{registro.fornecedor.numeroAtendimentoFormatado}}
</div>
</label>
</div>
Talvez esteja aparecendo algum erro no console. Se tiver, pega o erro e posta aqui pra gente ver. E reparei que tem um evento de change na div (?), isso não parece que está correto. Esse evento não deveria estar no checkbox?
Quando eu coloco isso como false [ngModelOptions]="{standalone: true}" - da o erro abaixo
ERROR Error:
ngModel cannot be used to register form controls with a parent formGroup directive. Try using
formGroup’s partner directive “formControlName” instead. Example:
<div [formGroup]="myGroup">
<input formControlName="firstName">
</div>
In your class:
this.myGroup = new FormGroup({
firstName: new FormControl()
});
Or, if you'd like to avoid registering this form control, indicate that it's standalone in ngModelOptions:
Example:
<div [formGroup]="myGroup">
<input formControlName="firstName">
<input [(ngModel)]="showMoreControls" [ngModelOptions]="{standalone: true}">
</div>
Resolvi usando @Output e EventEmitter.
1 curtida