Slider
Rules
Basic Example
js
const rule = {
type:"slider",
field:"slider",
title:"Slider",
value:[0,52],
props:{
min: 0,
max: 100,
range: true,
}
}Props Configuration Examples
Range Selection
js
const rule = {
type:"slider",
field:"priceRange",
title:"Price Range",
value:[0,100],
props:{
min: 0,
max: 1000,
range: true,
step: 10,
}
}Show Marks
js
const rule = {
type:"slider",
field:"volume",
title:"Volume",
value:50,
props:{
min: 0,
max: 100,
marks: {
0: 'Mute',
50: '50%',
100: 'Max',
},
}
}Format Tooltip
js
const rule = {
type:"slider",
field:"discount",
title:"Discount Rate",
value:0.9,
props:{
min: 0,
max: 1,
step: 0.01,
formatTooltip: (value) => {
return (value * 100).toFixed(0) + '%';
},
}
}Vertical Slider
js
const rule = {
type:"slider",
field:"height",
title:"Height",
value:50,
props:{
min: 0,
max: 100,
vertical: true,
}
}Events Examples
Handle Slider Changes
js
const rule = {
type:"slider",
field:"volume",
title:"Volume",
value:50,
props:{
min: 0,
max: 100,
},
on: {
'update:value': (value) => {
console.log('Slider value changed:', value);
},
},
}Linkage Update Display Value
js
const rule = [
{
type:"slider",
field:"discount",
title:"Discount Rate",
value:0.9,
props:{
min: 0,
max: 1,
step: 0.01,
},
inject: true,
on: {
'update:value': ($inject, value) => {
// Display discount percentage in real-time
$inject.api.setValue('discountText', (value * 100).toFixed(0) + '%');
},
},
},
{
type:"input",
field:"discountText",
title:"Discount",
props: {
disabled: true,
},
},
]Complete configuration items: naive-ui_Slider
value :Number | Array
Props
| Name | Type | Default Value | Description | Version |
|---|---|---|---|---|
| disabled | boolean | false | Whether disabled | |
| format-tooltip | (value: number) => string | number | undefined | Format tooltip | |
| marks | { [markValue: number]: string } | undefined | Marks on Slider | |
| max | number | 100 | Maximum value | |
| min | number | 0 | Minimum value | |
| placement | 'top-start' | 'top' | 'top-end' | 'right-start' | 'right' | 'right-end' | 'bottom-start' | 'bottom' | 'bottom-end' | 'left-start' | 'left' | 'left-end' | undefined | Popup position of Tooltip | 2.25.0 |
| range | boolean | false | Whether to select range value | |
| reverse | boolean | false | Whether to reverse track | |
| show-tooltip | boolean | false | Whether to always show tooltip, only effective for non-range | 2.24.2 |
| step | number | 'mark' | 1 | Step size | |
| tooltip | boolean | true | Whether to show tooltip | |
| vertical | boolean | false | Whether to enable vertical mode | |
| on-update:value | (value: number | [number, number]) => void | undefined | Callback when value updates |


