Skip to content

Slider 滑块

slider

规则

基础示例

js
const rule = {
    type: 'slider',
    title: '滑块',
    field: 'slider',
    value: 50,
    props: {
        disabled: false,
    }
}

Props 配置示例

单值滑块

js
const rule = {
    type: 'slider',
    title: '音量',
    field: 'volume',
    value: 50,
    props: {
        min: 0,
        max: 100,
        step: 1,
    }
}

双滑块(范围选择)

js
const rule = {
    type: 'slider',
    title: '价格区间',
    field: 'priceRange',
    value: [30, 70],
    props: {
        range: true,
        min: 0,
        max: 1000,
    }
}

自定义颜色

js
const rule = {
    type: 'slider',
    title: '音量',
    field: 'volume',
    value: 50,
    props: {
        activeColor: '#07c160',
        inactiveColor: '#ebedf0',
    }
}

垂直滑块

js
const rule = {
    type: 'slider',
    title: '高度',
    field: 'height',
    value: 50,
    props: {
        vertical: true,
        min: 0,
        max: 100,
    }
}

Events 事件示例

监听滑块变化

js
const rule = {
    type: 'slider',
    title: '音量',
    field: 'volume',
    value: 50,
    props: {
        min: 0,
        max: 100,
    },
    on: {
        change: (value) => {
            console.log('值改变(拖拽结束):', value);
        },
        'drag-start': (event) => {
            console.log('开始拖动:', event);
        },
        'drag-end': (event) => {
            console.log('结束拖动:', event);
        },
    },
}

范围变化后更新显示

js
const rule = [
    {
        type: 'slider',
        title: '价格区间',
        field: 'priceRange',
        value: [0, 100],
        props: {
            min: 0,
            max: 1000,
            range: true,
        },
        inject: true,
        on: {
            change: ($inject, value) => {
                // 更新价格区间显示
                const [min, max] = value;
                $inject.api.setValue('priceRangeText', `¥${min} - ¥${max}`);
            },
        },
    },
    {
        type: 'input',
        field: 'priceRangeText',
        title: '价格区间',
        props: {
            disabled: true,
        },
    },
]

完整配置项:Vant_Slider

value :Number | Array

Props

参数说明类型默认值
max最大值number | string100
min最小值number | string0
step步长number | string1
bar-height进度条高度,默认单位为 pxnumber | string2px
button-size滑块按钮大小,默认单位为 pxnumber | string24px
active-color进度条激活态颜色string#1989fa
inactive-color进度条非激活态颜色string#e5e5e5
range是否开启双滑块模式booleanfalse
reverse是否将进度条反转booleanfalse
disabled是否禁用滑块booleanfalse
readonly是否为只读状态,只读状态下无法修改滑块的值booleanfalse
vertical是否垂直展示booleanfalse

Events

事件名说明回调参数
change进度变化且结束拖动后触发value: number
drag-start开始拖动时触发event: TouchEvent
drag-end结束拖动时触发event: TouchEvent

FormCreate 是一个开源项目,基于 MIT 许可证发布,欢迎个人和企业用户免费使用