Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

383
Vistas
¿Cómo vincular el color de md-progress-spinner en Angular 2 Material 2, a un color personalizado?

Quiero usar md-progress-spinner para mostrar el porcentaje del trabajo realizado, pero quiero cambiar el color del trazo de rojo a verde dinámicamente según el porcentaje.

¿Cómo puedo hacer eso?

 <md-progress-spinner class="number" mode="determinate" [value]="today?.MemorizationPercent" [style.background]="today?.MemorizationStateColor"> </md-progress-spinner>
about 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Después de leer los comentarios mientras buscaba una solución a mi propio problema, pude encontrar la siguiente solución. No es bonito, pero hasta que abran el atributo de color para aceptar más de tres colores, esto servirá como una solución temporal.

La rueda giratoria es un círculo SVG, por lo que sus propiedades se pueden modificar a través de CSS. Puede cambiar el color del círculo con trazo y el fondo del círculo con relleno .

En el HTML:

 <mat-spinner class="very-pink"></mat-spinner>

En el CSS:

 .very-pink::ng-deep circle { stroke: fuchsia; }

Aquí hay un enlace a un stackblitz que lo demuestra.

EDITAR: Gracias a ConquerorsHaki por señalar esto: /deep/, >>> y ::ng-deep han quedado en desuso . Por el momento todavía funcionan, y uno esperaría que se proporcione un script de migración antes de que lo eliminen. Dicho esto, esta no es una solución óptima.

about 4 years ago · Santiago Trujillo Denunciar

0

Eche un vistazo al ejemplo demo-app https://github.com/angular/material2/tree/master/src/demo-app/progress-spinner

Debe enlazar a la propiedad [color] .

Luego, en su código puede mantener la lógica que cambiará el color dinámicamente según lo necesite en función de su valor porcentual. p.ej:

Modelo:

 <md-progress-spinner class="number" mode="determinate" [value]="today?.MemorizationPercent" [color]="getColor(today?.MemorizationPercent)"> </md-progress-spinner>

Muestra de la función getColor() :

 getColor(percentage) { return percentage > 50 ? '_red_' : '_green_'; }

Debe definir los colores en su paleta de materiales personalizada.

ACTUALIZAR:

aviso importante sobre '_red_' y '_green_' :

El color de la rueda de progreso. Puede ser principal, acentuar o advertir

Según el código fuente progress-spinner https://github.com/angular/material2/blob/master/src/lib/progress-spinner/progress-spinner.ts#L110

 /** The color of the progress-spinner. Can be primary, accent, or warn. */ @Input() get color(): string { return this._color; } set color(value: string) { if (value) { this._renderer.removeClass(this._elementRef.nativeElement, `mat-${this._color}`); this._renderer.addClass(this._elementRef.nativeElement, `mat-${value}`); this._color = value; }

Entonces getColor() se vuelve como decir:

 getColor(percentage) { return percentage > 50 ? 'accent' : 'warn'; }

Si no está satisfecho con los colores de las paletas de temas preconstruidos, debe crear los nuestros propios, consulte https://material.angular.io/guides para obtener más detalles.

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda