нажатие на angular мат-чип выбран, не срабатывает valueChanges и значение чипа недоступно в событии valueChanes - PullRequest
0 голосов
/ 02 августа 2020

У меня есть список мат-фишек с несколькими мат-фишками. но когда я нажимаю на мат-чип, они не запускают событие valueChanges, а событие valueChanges, запускаемое другими элементами управления, также не имеет значения выбранных чипов.

вот код.

<mat-chip-list aria-label="{{question.key}} selection" [selectable]=true>
                    <ng-container *ngFor="let opt of question.options">
                      <ng-container [ngSwitch]="opt.value">
                        <ng-container *ngSwitchCase="'No'">
                          <mat-basic-chip class="mat-basic-chip-no" [value]="opt.key" #lbl="matChip"
                            (click)="chipControlOnSelect(question.key,opt.key,fi,fgi, lbl)">
                            {{opt.value}}</mat-basic-chip>
                        </ng-container>
                        <ng-container *ngSwitchDefault>
                          <mat-basic-chip [value]="opt.key" #lbl="matChip"
                            (click)="chipControlOnSelect(question.key,opt.key,fi,fgi, lbl)">
                            {{opt.value}}</mat-basic-chip>
                        </ng-container>
                      </ng-container>
                    </ng-container>
                  </mat-chip-list>

1 Ответ

0 голосов
/ 02 августа 2020
(click)="chipControlOnSelect(opt.key)"
[value]="opt.key"

В приведенном выше утверждении могут быть следующие изменения, которые могут помочь получить значения.

(click)="chipControlOnSelect($event)"
[value]="opt.newkey" 

объединить все параметры (question.key, opt.key, fi, fgi, lbl) символом вертикальной черты и сохраните его в 'opt.newKey'

chipControlOnSelect(event: any){
  let newKey = event.target.value;
  --- here you can split the values by using pipe symbol and get the required values.

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...