更新记录

2.0.1(2023-09-18) 下载此版本

兼容vue2,vue3,新增月亮模式使用案例,或者懒人一键月亮模式

2.0.0(2022-05-12) 下载此版本

重构,已使用的请及时更新,传参字段也需更改

1.0.0(2022-05-09) 下载此版本

首次发布

查看更多

平台兼容性

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

zero-switch

一. 插件说明

个人仅测试与 vue2,vue3,微信小程序,其他平台请自行测试

增加 **moon** 月亮模式 ,直接实现暗黑模式切换的开关,也可以自行配色,下面有介绍

zero-switch-看似简单的一个 uniapp 开关小组件,你真的用明白了吗?

二. 使用方法

<template>
  <view class="container">
    <!-- 默认用法 -->
    <zero-switch v-model="switchBtn"></zero-switch>

    <!-- 渐变玩法 -->
    <zero-switch
      class="inline_item"
      v-model="switchBtn"
      inactive-color="radial-gradient(circle,#fff 10%, #ccc 100%)"
      active-color="radial-gradient(circle,#fff 10%, #007aff 100%)"
    ></zero-switch>
    <zero-switch
      class="inline_item"
      v-model="switchBtn"
      inactive-color="radial-gradient(circle,#000 10%, #f00000 40%,  #000 70%)"
      active-color="radial-gradient(circle,#000 10%, #00f260 40%,  #000 70%)"
      backgroundColorOff="#000000"
      backgroundColorOn="#000000"
    ></zero-switch>

    <!-- 进阶渐变玩法 -->
    <zero-switch
      class="inline_item"
      v-model="switchBtn"
      inactive-color="radial-gradient(circle at 70% 35%, #000000 30%, #009fff 60%)"
      backgroundColorOff="#000000"
      active-color="linear-gradient(40deg,#ff0080,#ff8c00 70%)"
    ></zero-switch>

    <!-- 提供一个没有渐变的月亮模式  :moon="true"-->
    <zero-switch
      class="inline_item"
      v-model="switchBtn"
      :moon="true"
      backgroundColorOff="#000000"
      backgroundColorOn="#000000"
    ></zero-switch>

    <!-- 异步控制 -->
    <zero-switch v-model="switchBtn" @change="handleAsync"></zero-switch>

    <!-- 禁用 -->
    <zero-switch v-model="switchBtn" :disabled="true"></zero-switch>
  </view>
</template>
<script>
  export default {
    data() {
      return {
        switchBtn: false,
      };
    },
    methods: {
      handleAsync(e) {
        uni.showModal({
          title: "提示",
          content: "确定要改变开关状态吗?",
          success: (res) => {
            if (res.confirm) {
              console.log("用户点击确定");
              this.btnAsync = !this.btnAsync;
            } else if (res.cancel) {
              console.log("用户点击取消");
            }
          },
        });
      },
    },
  };
</script>

三. 参数说明

参数 类型 默认值 描述
value Boolean false 开关状态
activeColor String #1EABFA 开关开启时颜色
inactiveColor String #cccccc 开关关闭时颜色
backgroundColorOn String #ffffff 开关开启背景颜色
backgroundColorOff String #ffffff 开关关闭背景颜色
borderColorOn String #eeeeee 开关开启边框颜色
borderColorOff String #eeeeee 开关关闭边框颜色
showText Boolean false 是否显示文字(只能显示一个字)
textOn String 开关开启时的文字
textOff String 开关关闭时的文字
size Number 26 开关大小
disabled Boolean false 是否禁用
stopChange Boolean false 是否需要异步控制
moon Boolean false 月亮模式,此时禁用文字,建议把背景色改成黑色 backgroundColorOff='#000000' backgroundColorOn="#000000"

四. event

参数 返回值
change value

插件预览: code

小程序搜索: zerojs 零技术

预览的小程序不一定能及时更新当前插件

隐私、权限声明

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

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

插件不采集任何数据

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

许可协议

MIT协议

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