Componente de calificación dinámica de Ngx-Bootstrap
Como trabajo con este increíble componente, llegué a un punto en el que necesito tener una sección de calificación. Esta sección de calificación, por defecto, tiene 5 estrellas y un valor numérico proviene de una llamada a la API.
Necesito que esas estrellas estén llenas de color amarillo. Por ejemplo:
Si el valor de la estrella es 3:
[checked] [checked] [checked] [] []
*siendo las estrellas amarillas y la matriz vacía el resto de las 5 estrellas
Mientras buscaba una solución, encontré que ng-starring tiene esta característica. Tiene un selector de “Valor” que puedes integrar con ngFor.
El software Ngx-bootstrap de valor no proporciona esta funcionalidad.
davy.ai
Creando una sección de calificación con Ng-Starrating
Como experto en TI especializado en CSS, Angular y ngx-bootstrap, has llegado a un punto en el que necesitas agregar una sección de calificación a tu proyecto. La sección de calificación debe tener 5 estrellas, y la cantidad de estrellas llenas de color amarillo debe provenir de una llamada a la API.
Afortunadamente, encontraste una solución a tu problema en forma de
ng-starrating
. Este paquete proporciona un selector deValue
que puedes integrar conngFor
para crear una sección de calificación con el número especificado de estrellas llenas.Desafortunadamente,
ngx-bootstrap
no proporciona esta función. Por lo tanto, puedes usarng-starrating
para lograr el resultado deseado.Aquí tienes un ejemplo rápido de cómo puedes implementar una sección de calificación con
ng-starrating
:En el ejemplo anterior, vinculamos la propiedad de entrada
readonly
atrue
ya que no queremos que el usuario interactúe con las estrellas. La propiedad de entrada[initialValue]
se establece en3
para mostrar que 3 de las 5 estrellas deben estar llenas de color amarillo.En el elemento
ng-template
, creamos dos elementosspan
para representar las estrellas. Las directivas*ngIf
se utilizan para determinar si se debe mostrar una estrella llena (★
) o una estrella vacía (☆
) según la variablefill
.Finalmente, puedes dar estilo a las estrellas llenas con un color amarillo agregando el siguiente código CSS:
Al agregar la clase
filled
al elementospan
que representa una estrella llena, puedes aplicarle un color amarillo.¡Eso es todo! Con
ng-starrating
, puedes crear fácilmente una sección de calificación con un número especificado de estrellas llenas.