Как использовать FormControl для создания нескольких экземпляров слайдера Ng-5 и отслеживания во время нумерации страниц? - PullRequest
0 голосов
/ 11 июля 2019

Я использую FormContol для создания нескольких экземпляров слайдера Ng-5 в цикле NgFor. Во время нумерации страниц с использованием Ng-x Pagination значения ползунка теряются. Я хочу знать, как я могу отслеживать значения ползунка во время разбивки на страницы и как динамически назначать каждому ползунку новую переменную во время каждой итерации для получения / установки значений?

HTML:

<form class="form" method="" action="" [formGroup]="registerForm" (ngSubmit)="register()"> 

   <div class="row" *ngFor = "let parameter of parameters | paginate: { currentPage: currentPage, itemsPerPage: itemsPerPage }; let i = index;">

               {{parameter.name}}

     <ng5-slider [options]="options" [formControl]="sliderControl" (userChange)="saveRange($event,i)"></ng5-slider>

   </div>

   <pagination-controls (pageChange)="currentPage = $event"></pagination-controls>

</form>

TS:

 sliderControl: FormControl = new FormControl(0);

  ngOnInit() {
  this.recommendationService.getParameters().subscribe(
    res => {
      this.parameters = res.parameters;
        this.semService.getAllTools().subscribe(
          res => {
            this.tools = res.softwares;
          }, 
          err => {
          });
    }, 
     err => {
   });

  this.registerForm = this.formBuilder.group({
  'slideControl': this.formBuilder.control(''),
  });

  this.sliderControl.setValue(0); //Initializes slider value to 0


  }

Я ожидаю получить / установить значения каждого отдельного ползунка.

1 Ответ

0 голосов

В массиве ngFor у вас есть let i = index; Вы можете использовать его и перенести в директиву @Input() для компонента слайдера

...