更新记录

1.1.0(2024-04-19)

修改文档

1.0.0(2023-08-22)

第一版


平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 3.1.0 app-vue × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序
× × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
× × × × × × × ×

wo-slider 滑块组件

采用touchstart、touchmove、touchend事件实现的滑块组件,支持H5、微信小程序(其他小程序未试过,可自行尝试) 参考文章:https://blog.csdn.net/qq_42278240/article/details/132423428

props属性

height

滑道高度(rpx单位)

height: {
    type: Number,
    default: 80,
},

sliderSize

滑块大小

sliderSize: {
    type: Number,
    default: 80
},

round

圆角滑道

round: {
    type: Object,
    default: function () {
        return { show: false, style: '1rpx solid #C8C9CC' }
    }
},

border

边框样式

border: {
    type: Object,
    default: function () {
        return { show: true, style: '1rpx solid #C8C9CC' }
    }
}

插槽

起始滑块自定义

v-slot:begin

<wo-slider>
    <template v-slot:begin>
        <view style="background-color: #E5673B; height: 100%; display: flex; justify-content: center; align-items: center">
            <image style="height: 50rpx;width: 50rpx;" src="@/static/arrow-right-bold.svg"></image>
        </view>
    </template>
</wo-slider>

终点滑块自定义

v-slot:end

<wo-slider>
    <template v-slot:end>
        <view style="background-color: #1BA035; height: 100%; display: flex; justify-content: center; align-items: center">
            <image style="height: 50rpx;width: 50rpx;" src="@/static/select-bold.svg"></image>
        </view>
    </template>
</wo-slider>

滑道-初始态内容自定义

v-slot:init

可在此自定义滑动结束前的背景、内容信息等

<wo-slider>
    <template v-slot:init>
        <view style="background-color: #107BBA; color: #fff; height: 100%; display: flex; justify-content: center;align-items: center;">😀滑动解锁大礼包</view>
    </template>
</wo-slider>

滑道-成功态内容自定义

v-slot:isFinished

可在此自定义滑动结束后的成功态背景色、以及内容信息等.

一般结合@slideFinish事件动态设置滑动结束后的内容信息,这样可以做到滑动结束后才显示内容信息

<wo-slider @slideFinish="onFinish">
    <template v-slot:isFinished>
        <view style="height: 100%;background-color: #FF5F2F; color: #fff; display: flex; justify-content: center;align-items: center;">
            <view>
                {{content}}
            </view>
        </view>
    </template>
</wo-slider>
methods: {
    onFinish(e) {
        console.log('滑动完成', e);
        this.content = '😊验证成功'
    }
}

事件

@slideFinish

滑动结束后执行,

参数

  • status属性: 滑动结束标志,值为:success
  • resetFunc函数:重置函数,滑块回到原点

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问