Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

240
Views
índice de selección de grupo de radio de alfombra angular

Tengo un botón de radio en un grupo de radio de tapete que proviene de un bucle, el botón y la tarjeta deben estar coloreados según el índice seleccionado, pero como puede ver en la captura de pantalla, el botón de radio está seleccionado pero no coloreado en blanco.

ingrese la descripción de la imagen aquí

El botón de radio basado en el índice seleccionado o la radio seleccionada debería ser así, pero actualmente mi lógica no funciona. Gracias por cualquier ayuda.

ingrese la descripción de la imagen aquí

¿Alguna idea chicos? Gracias.

#código HTML

 <p fxLayoutAlign="center" class="select-date-time-text">Select Available Date</p> <mat-radio-group> <mat-card style="cursor: pointer;" [ngClass]="selectedIndex === i ? 'selected-schedule-card' : ''" *ngFor="let item of schedules;let i = index;" fxLayoutAlign="start center" style="cursor: pointer;margin-bottom: 20px;"> <mat-radio-button color="accent" [ngClass]="selectedIndex === i ? 'selected-schedule-radio' : ''" value="i" (click)="onSelect(item , i)"> <mat-icon class="date-icon" style="margin-top:3px;margin-left:10px;">today</mat-icon> {{item.proposedDateStartString}} </mat-radio-button> </mat-card> </mat-radio-group>

#tscode

 onSelect(item:any , index:number) { this.selectedIndex = index; this.selectedItem = item; }

#css

 .selected-schedule-radio { color: #ffffff; } .selected-schedule-card { background-color: #007DFF; }
about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Haga una función en el lado ts y use esto en su html: (clic) = "onSelect (elemento)"

about 4 years ago · Juan Pablo Isaza Report

0

No necesita un evento de change para esto. Cree una variable de alcance en su TS para mantener el valor, como

 this.selectedDate='';

Coloque un enlace ngmodel en el elemento mat-radio-group .

 [ngModel]="selectedDate"

Eso rastreará el valor seleccionado de todo el grupo de radio. Luego haga que su ngClass compare el valor de la radio con el valor seleccionado

 [ngClass]="selectedDate === item.proposedDateStartString ? 'selected-schedule-radio' : ''"

Todos juntos...

 <mat-radio-group [ngModel]="selectedDate"> <mat-card style="cursor: pointer;" [ngClass]="selectedIndex === i ? 'selected-schedule-card' : ''" *ngFor="let item of schedules;let i = index;" fxLayoutAlign="start center" style="cursor: pointer;margin-bottom: 20px;"> <mat-radio-button color="accent" [ngClass]="selectedDate === item.proposedDateStartString ? 'selected-schedule-radio' : ''" > <mat-icon class="date-icon" style="margin-top:3px;margin-left:10px;">today</mat-icon> {{item.proposedDateStartString}} </mat-radio-button> </mat-card> </mat-radio-group>
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!