NbSlider is a draggable range input with an optional NbNumberInput companion. It supports single-value and two-handle range modes.
vue
<template>
<NbSlider v-model="volume" label="Volume" :min="0" :max="100" />
</template>
<script setup lang="ts">
import { ref } from 'vue'
const volume = ref(50)
</script>Range mode
Set :range="true" and bind to a [low, high] array to enable two handles.
vue
<template>
<NbSlider
v-model="range"
label="Price range"
:min="0"
:max="1000"
:step="10"
:range="true"
/>
</template>
<script setup lang="ts">
import { ref } from 'vue'
const range = ref<[number, number]>([200, 800])
</script>Without number input
Hide the companion input when screen space is tight or the precise value is not important.