Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

390
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda