Slider provides a component to select a numerical value within a range.
import Material.Slider as Slider
type Msg
= ValueChanged Float
main =
Slider.slider
(Slider.config
|> Slider.setValue (Just 50)
|> Slider.setOnInput ValueChanged
)Specify a message when the user interacts with the slider
Specify whether a slider is discrete
Discrete sliders feature a pin that indicates the current value while interacting with the slider.
This works best for integer-valued sliders, but this is not a requirement.
Specify whether a slider should display markers
Note that this option is ignored by non-discrete sliders.
Specify whether a slider is disabled
Disabled sliders canot be interacted with and have no visual interaction effect.
Specify additional attributes
To set a custom range, use the slider's setMin and setMax configuration
options.
Slider.slider
(Slider.config
|> Slider.setMin (Just 0)
|> Slider.setMax (Just 100)
)To allow for quantization of the user input, use the slider's setStep
configuration option.
Slider.slider (Slider.config |> Slider.setStep (Just 4.5))To disable a slider, set its setDisabled configuration option to True.
Disabled sliders cannot be interacted with and have no visual interaction effect.
Slider.slider (Slider.config |> Slider.setDisabled True)To treat a slider as a discrete slider, set its setDiscrete configuration
option to True.
Slider.slider (Slider.config |> Slider.setDiscrete True)To have a discrete slider show track markers, set its setDisplayMarkers
configuration option to True.
Note that non-discrete sliders ignore this configuration option.
Slider.slider
(Slider.config |> Slider.setDisplayMarkers True)You may programatically focus a slider by assigning an id attribute to it and
use Browser.Dom.focus.
Slider.slider
(Slider.config
|> Slider.setAttributes
[ Html.Attributes.id "my-slider" ]
)
Configuration of a slider