vue-custom-range-slider
Slider component for vue, with support for custom values
9,327
11
| Install | |
|---|---|
npm install vue-custom-range-slider |
|
| Latest Version: | 0.2.3 |
| Vue: | 2 |
| License: | MIT |
| Last Updated: | Dec 10, 2022 |
| Links: | GitHub · npm |
Maintainer: bjornnyborg
vue-custom-range-slider
This is a simple vue-range slider, that supports custom values, labels and more. The component is based on use with v-model, the value is always a string, for supporting custom values.
Demo
See the slider in action, in this codesandbox
Installation
NPM
npm install --save vue-custom-range-slider
Yarn
yarn add vue-custom-range-slider
Usage examples
Usage like a native range slider
<template>
<div>
<custom-slider min="10" max="50" step="2" raising v-model="slider" />
{{ slider }}
</div>
</template>
<script>
import CustomSlider from "vue-custom-range-slider";
// import the styling, css or scss
import "vue-custom-range-slider/dist/vue-custom-range-slider.css";
export default {
components: {
CustomSlider
},
data() {
return {
slider: "12"
};
}
};
</script>
Usage with custom values
<template>
<div>
<custom-slider :values="sliderValues" raising v-model="slider" />
{{ slider }}
</div>
</template>
<script>
import CustomSlider from "vue-custom-range-slider";
// import the styling, css or scss
import "vue-custom-range-slider/dist/vue-custom-range-slider.css";
export default {
components: {
CustomSlider
},
data() {
return {
slider: "a",
sliderValues: [
{
label: "Not at all",
value: "a"
},
{
label: "A tiny bit",
value: "b"
},
{
label: "Its ok",
value: "c"
},
{
label: "Its very good",
value: "d"
},
{
label: "Its AMAZING!",
value: "e"
}
]
};
}
};
</script>
Properties:
All properties are optional
| Property | Description | Type | Default |
|---|---|---|---|
| values | Pass an array of custom values, with corresponding labels (overrides min/max) | array |
[] |
| min | Sets the minimum value of the slider | string |
'0' |
| max | Sets the maximum value of the slider | string |
'100' |
| step | Sets the stepping interval | string |
'1' |
| hideLabel | Set, if you want to hide the label above the slider | boolean |
false |
| raising | Set if you want a "raising" shape, like: ◁ | boolean |
false |
Events
| Name | Description | Type |
|---|---|---|
| change | Emits the current value on change | string |
Styling
You can easily modify the look of the slider, by overriding the variables in the scss file.
// override variables like this:
$label-color: red;
// import the styling,
@import "vue-custom-range-slider/dist/vue-custom-range-slider.scss";
All variables can be found in the scss file
Roadmap
- Disabled properties
- Name attributes for form handling
- Better styling options
Contribution
If you have suggestions for improvements, dont hesitate to make an issue or pull request. :)
License
MIT
Related Packages
vue-double-range-input
Double range input for vue 3 with min and max value that help you select two val...
9,539
Version History
| Version | Released | Vue | License |
|---|---|---|---|
| 0.2.3 | ^2.6.10 | MIT | |
| 0.2.2 | ^2.6.10 | MIT | |
| 0.2.1 | ^2.6.10 | MIT | |
| 0.2.0 | ^2.6.10 | MIT | |
| 0.1.4 | ^2.6.10 | MIT | |
| 0.1.3 | ^2.6.10 | ||
| 0.1.2 | ^2.6.10 | ||
| 0.1.1 | ^2.6.10 | ||
| 0.1.0 | ^2.6.10 |