Range slider
A range slider is a user interface component that allows users to select two values within a predefined range. It is similar to a single-value slider, but instead of selecting a single value, a range slider allows the user to select a range of values between two endpoints. The two endpoints of the slider represent the minimum and maximum values of the range, and the user can adjust the position of each endpoint to select the desired range.
Props
model-value: [number, number]
The value of the range slider.
disabled?: boolean
If the range slider is disabled.
is-ticks-visible?: boolean
If the ticks are visible.
is-tooltip-disabled?: boolean
If the tooltip is disabled.
min?: number
The minimum value of the range slider.
max?: number
The maximum value of the range slider.
Default: 100
step?: number
The step size of the range slider.
Default: 1
formatter?: (value: number, decimals?: number): string
The formatters of the range slider.
Default: formatNumber
Emits
update:model-value: [number, number]
Triggered when the value is changed.
Examples
Basic
A basic range slider from 0 to 100.
<template>
<FluxFormRangeSlider
v-model="ranges"/>
</template>
<script
setup
lang="ts">
import { FluxFormRangeSlider } from '@flux-ui/components';
import { ref } from 'vue';
const ranges = ref<[number, number]>([25, 75]);
</script>Ticks
A range slider where the ticks are visible.
<template>
<FluxFormRangeSlider
is-ticks-visible
v-model="ranges"/>
</template>
<script
setup
lang="ts">
import { FluxFormRangeSlider } from '@flux-ui/components';
import { ref } from 'vue';
const ranges = ref<[number, number]>([25, 75]);
</script>Custom formatter
A range slider with a custom formatter.
<template>
<FluxFormRangeSlider
is-ticks-visible
v-model="ranges"
:min="0"
:max="100"
:step="0.5"
:formatter="customFormatter"/>
</template>
<script
setup
lang="ts">
import { FluxFormRangeSlider } from '@flux-ui/components';
import { ref } from 'vue';
const ranges = ref<[number, number]>([25, 75]);
function customFormatter(value: number): string {
const formatter = new Intl.NumberFormat(navigator.language, {
currency: 'EUR',
maximumFractionDigits: 2,
minimumFractionDigits: 2,
style: 'currency'
});
return formatter.format(value);
}
</script>