Slider 滑块
规则
基础示例
js
const rule = {
type:"slider",
field:"slider",
title:"滑块",
value:[0,52],
props:{
min: 0,
max: 100,
range: true,
}
}Props 配置示例
范围选择
js
const rule = {
type:"slider",
field:"priceRange",
title:"价格区间",
value:[0,100],
props:{
min: 0,
max: 1000,
range: true,
step: 10,
}
}显示标记
js
const rule = {
type:"slider",
field:"volume",
title:"音量",
value:50,
props:{
min: 0,
max: 100,
marks: {
0: '静音',
50: '50%',
100: '最大',
},
}
}格式化提示
js
const rule = {
type:"slider",
field:"discount",
title:"折扣率",
value:0.9,
props:{
min: 0,
max: 1,
step: 0.01,
formatTooltip: (value) => {
return (value * 100).toFixed(0) + '%';
},
}
}垂直滑块
js
const rule = {
type:"slider",
field:"height",
title:"高度",
value:50,
props:{
min: 0,
max: 100,
vertical: true,
}
}Events 事件示例
监听滑块变化
js
const rule = {
type:"slider",
field:"volume",
title:"音量",
value:50,
props:{
min: 0,
max: 100,
},
on: {
'update:value': (value) => {
console.log('滑块值改变:', value);
},
},
}联动更新显示值
js
const rule = [
{
type:"slider",
field:"discount",
title:"折扣率",
value:0.9,
props:{
min: 0,
max: 1,
step: 0.01,
},
inject: true,
on: {
'update:value': ($inject, value) => {
// 实时显示折扣百分比
$inject.api.setValue('discountText', (value * 100).toFixed(0) + '%');
},
},
},
{
type:"input",
field:"discountText",
title:"折扣",
props: {
disabled: true,
},
},
]完整配置项:naive-ui_Slider
value :Number | Array
Props
| 名称 | 类型 | 默认值 | 说明 | 版本 |
|---|---|---|---|---|
| disabled | boolean | false | 是否禁用 | |
| format-tooltip | (value: number) => string | number | undefined | 格式化 tooltip | |
| marks | { [markValue: number]: string } | undefined | Slider 上的标记 | |
| max | number | 100 | 最大值 | |
| min | number | 0 | 最小值 | |
| placement | 'top-start' | 'top' | 'top-end' | 'right-start' | 'right' | 'right-end' | 'bottom-start' | 'bottom' | 'bottom-end' | 'left-start' | 'left' | 'left-end' | undefined | Tooltip 的弹出位置 | 2.25.0 |
| range | boolean | false | 是否选择范围值 | |
| reverse | boolean | false | 是否倒转轨道 | |
| show-tooltip | boolean | false | 是否一直显示 tooltip,仅对非 range 生效 | 2.24.2 |
| step | number | 'mark' | 1 | 步长 | |
| tooltip | boolean | true | 是否展示 tooltip | |
| vertical | boolean | false | 是否启用垂直模式 | |
| on-update:value | (value: number | [number, number]) => void | undefined | 值更新的回调 |


