更新记录

1.0.1(2024-03-07)

  • 修复部分平台初始化失败问题
  • 新增web端兼容(大部分浏览器)

1.0.0(2023-11-29)

  • 本插件基于acr-slider开发
  • 主要提供此类组件思路,具体组件还是需要根据具体业务修改

平台兼容性

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

参数配置

方法 说明
@change 滑动结束时触发change事件,event:颜色值(rgb)

使用示例

<ColorSlider @change="change">
  <view>颜色选择器<view/>
<ColorSlider/>

const change = (e:string) => {
    const color = e
}
  • 如需对rgb与hex颜色进行转换,可使用以下方法

    /* _____________⬇️hex转rgba⬇️_____________ */

    export const HexToRgba = (color: string, opc = 99) => {
        const str = color.substring(1)
        let arr: number[];
        if (str.length == 6) {
            arr = [parseInt(str.slice(0, 2), 16), parseInt(str.slice(2, 4), 16), parseInt(str.slice(4, 6), 16)]
        } else if (str.length == 3) {
            arr = str.split('').map(d => parseInt(d.repeat(2), 16))
        } else {
            throw ('hex颜色值错误')
        }
        return opc != 99 ? `rgba(${arr[0]},${arr[1]},${arr[2]},${opc})` : `rgb(${arr[0]},${arr[1]},${arr[2]})`
        }

/* _____________⬇️rgb转hex⬇️_____________ */

    export const RgbToHex = (rgb: string) => {
        const arr = rgb.replace(/[^0-9,]/g, '').split(',')
        if (arr.length !== 3) {
            throw ('rgb颜色值错误')
        }
        let hexStr = (+arr[0] << 16 | +arr[1] << 8 | +arr[2]).toString(16)
        if (hexStr.length < 6) {
            hexStr = `0${new Array((6 - hexStr.length)).join("0")}${hexStr}`;
        }
        return `#${hexStr}`
    }
多端支持请自行测试
可扫码进小程序体验 主要针对小程序端实现
有问题咨询本人,不限于创意需求,本插件仅为基础版本
如果对您有帮助 请记得点点star

隐私、权限声明

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

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

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

许可协议

MIT协议

暂无用户评论。

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