es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Utilizando “Rating” en ng select angular.

Intenté usar p-rating en ng-select, pero cuando quiero hacer clic en Rating, se hace clic en ng-select. Mi problema es que quiero hacer clic en Rating, pero después de hacer clic, se hace clic en mi lista desplegable en lugar de en el Rating.
Mi código HTML:

<ng-select class="dir" [items]="Menu" bindlabel="title" bindvalue="facode" [notfoundtext]="NotFoundText" (search)="onSearch($event)" placeholder="جستجو در منو..." (change)="selectMenu($event)">
        <ng-template ng-option-tmp="" let-item="item" let-index="index">
          <p> {{item.title}} </p>
          <p-rating stars="1" [cancel]="false"></p-rating>
        </ng-template>
      </ng-select>

Por favor, mira la foto:

enter image description here

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para solucionar este problema, puedes agregar el método stopPropagation al elemento p-rating o envolverlo con una etiqueta span de esta manera:

    <ng-template ng-option-tmp="" let-item="item" let-index="index">
          {{item.title}} 
         <span (click)="$event.stopPropagation()">
             <p-rating stars="1" [cancel]="false"></p-rating>
         </span>
    </ng-template>
    

    El método stopPropagation en el elemento p-rating evitará que el evento de clic se propague hacia el elemento padre ng-select, permitiéndote hacer clic solamente en el elemento p-rating.
    Como alternativa, envolver el elemento p-rating con una etiqueta span aislará el evento de clic solo al elemento p-rating, ya que no se propagará más allá de la etiqueta span.

Comments are closed.