javascript - Özel adımlarla bir Angular Material kaydırıcı aralığı oluşturma


0.25, 0.5, 1, 2, 3 özel adımlarıyla bir mat-slider oluşturmak istiyorum

Artışımı hangi değerde verebilirim? Aşağıdaki kod

<mat-slider #slider  [min]="0.25" [max]="3" [step]="[increment]" (input)="onInputChange($event)" </mat-slider>

this.increment = ???

Cevap #1

step's türü sayı olduğu için, korkarım hedefinize doğrudan ulaşamazsınız.

Ama dolaylı bir çözüm şöyle olabilir: Çıkışı (finalValue:number) 0.25 veya 0.5 veya ... olabilecek bir mat-slider istiyoruz.

1- 5 adımınız var. Adımları steps=[0.25, 0.5, 1, 2, 3] gibi bir diziye kaydedin

2- 5 adım olması için mat-slide’i her zamanki gibi kullanın. Örneğin min=0, max=4, step=1 olarak ayarlayın.

3- onInputChange() içinde mat-slide'ın yeni değerini görebilirsiniz. Bunu stepIndex olarak adlandıralım, bu 0 ile 4 arasında bir tamsayıdır.

4- Son değeri bulmak için stepIndex'i kullanın. Basit bir haritalama.

Bunun hepsini burada görebilirsiniz:

https://stackblitz.com/edit/angular-p2iz4u?file=src/app/slider-overview-example.ts

İlgili makaleler