更新记录
0.0.3(2024-06-12) 下载此版本
调整:
- 滑块定位从双精度值更改至四舍五入小数点后两位值
- 更新README.md文档
修复:
- 单区间模式下,被双区间规则误杀从而无法滑动到最大值问题。
- 单区间模式下,活跃滑块宽度计算不精确问题。
0.0.2(2024-05-10) 下载此版本
新增:
- 根据系列组件库统一规划化命名。✅
- 数值提示位置增加可自定义属性。✅
- 增加事件
move
,用于区分change
,两者触发条件不同。✅ - 废除
hintDistance
提示距按钮距离属性。
修复:
- 最小数值无法拉尽问题修复。✅
- 单区间模式下初次回显值问题。✅
0.0.1(2023-11-20) 下载此版本
xz-slider-range首次上架
查看更多平台兼容性
Vue2 | Vue3 |
---|---|
× | √ |
App | 快应用 | 微信小程序 | 支付宝小程序 | 百度小程序 | 字节小程序 | QQ小程序 |
---|---|---|---|---|---|---|
app-vue app-nvue | √ | √ | √ | √ | √ | √ |
钉钉小程序 | 快手小程序 | 飞书小程序 | 京东小程序 |
---|---|---|---|
√ | √ | √ | √ |
H5-Safari | Android Browser | 微信浏览器(Android) | QQ浏览器(Android) | Chrome | IE | Edge | Firefox | PC-Safari |
---|---|---|---|---|---|---|---|---|
√ | √ | √ | √ | √ | √ | √ | √ | √ |
xz-slider-range
[toc]
一、使用说明
xz-slider-range 是基于 uniapp 框架的一款区间滑块组件,组件干练简洁易用,支持单、双区间操作。
支持 easycom 导入,允许不导入组件直接使用。目前基于TS编写,暂未分离TS语法,需要项目支持TS依赖使用。
特点:
- 简单易用,仅需一个
v-model
属性即可实现主要功能。 - 支持单、双范围灵活切换。
- 自定义程度高,可根据具体需求,自定义 UI、内容。
- 单组件下载版本无需第三方依赖,开箱直用,若需要使用多个该系列组件,建议使用体积更小的完整组件包。
注意:组件属于首发测试阶段,使用过程中遇到问题或有建议的话请提交 Issues · xzcwx/xz-easy-uni (github.com),感谢您的配合❤。
二、使用示例
1)、基本使用
<template>
<view class="slider-range">
<view>{{ sliderRange.title }}</view>
<xz-slider-range v-model="sliderRange.val" />
</view>
</template>
<script lang="ts" setup>
import { computed, reactive, onMounted } from "vue";
const sliderRange = reactive({
title: "基本使用",
val: [0, 100]
});
</script>
2)、传统单区间滑块
<template>
<view class="slider-range">
<view>{{ sliderRange.title }}</view>
<xz-slider-range v-model="sliderRange.val" solo :decoration="false"/>
</view>
</template>
<script lang="ts" setup>
import { computed, reactive, onMounted } from "vue";
const sliderRange = reactive({
title: "传统单区间滑块",
val: [0]
});
</script>
3)、自定义区间
<template>
<view class="slider-range">
<view>{{ sliderRange.title }}</view>
<xz-slider-range v-model="sliderRange.val" :min="100" :max="1000000" />
</view>
</template>
<script lang="ts" setup>
import { computed, reactive, onMounted } from "vue";
const sliderRange = reactive({
title: "自定义区间",
val: []
});
</script>
4)、自定义区间提示
<template>
<view class="slider-range">
<view>{{ sliderRange.title }}</view>
<xz-slider-range v-model="sliderRange.val"
:format="(val) => `¥${val}万`"
hint-color="#007979" hint-size="14px" />
</view>
</template>
<script lang="ts" setup>
import { computed, reactive, onMounted } from "vue";
const sliderRange = reactive({
title: "自定义区间提示",
val: []
});
</script>
三、组件Props属性
属性名 | 类型 | 默认值 | 说明 |
---|---|---|---|
modelValue | Array<number, number> | [min, max] |
滑块已选中区间的值 |
min | number | 0 |
滑块区间最小值 |
max | number | 100 |
滑块区间最大值 |
rate | number | 0 |
步进倍率(依据实际min和max为主) |
format | (val: number) => string | undefined |
滑块值格式化回调 |
disabled | boolean | false |
是否为禁用状态 |
size | number | 26 |
滑块大小 |
color | string | #FFF |
滑块颜色 |
bgc | string | #E9E9E9 |
背景条颜色 |
activeBgc | string | #1AAD19 |
已选择背景条的颜色 |
height | string | 5px |
区间进度条高度 |
hint | boolean | true |
是否显示滑块值提示文本 |
hintSize | string | 12px |
提示文本大小 |
hintColor | string | #666 |
提示文本颜色 |
hintSafeOverlap | number | 5 |
提示重叠安全距离(百分比) |
hintDistance | string | -24px |
提示距按钮距离 |
decoration | boolean | true |
是否显示滑块内装饰元素 |
solo | boolean | false |
是否为单区间模式 |
四、组件Events事件
事件名 | 参数 | 说明 |
---|---|---|
change | (val: number[]) => void |
滑块值更改时触发 |
五、组件方法
方法名 | 类型 | 说明 |
---|---|---|
reset | () => void |
重置滑块所选范围 |
便捷导航
- 作者博客地址:https://blog.csdn.net/XianZhe_
- 项目仓库地址: