自定义Switch背景带文字

2023-11-15

需要实现的效果

在这里插入图片描述

标题代码实现

	<div class="custom-switch" :class="{ 'active': value }" @click="toggle">
		<span class="custom_left" v-if="value">关灯</span>
		<div class="switch-btn"></div>
		<span class="custom_right" v-if="values">开灯</span>
	</div>
</template>

<script>
	export default {
		props: {
			value: {
				type: Boolean,
				default: false,
			},
			label: {
				type: String,
				required: true,
			},
		},
		data() {
			return {
				values: true
			}
		},
		methods: {
			toggle() {
				this.values = !this.values
				this.$emit('input', !this.value);
			},
		},
	};
</script>

<style scoped>
	.custom-switch {
		width: 130rpx;
		height: 64rpx;
		border-radius: 50rpx;
		background-color: #B2B2B2;
		cursor: pointer;
		position: relative;
		transition: background-color .3s;
	}

	.custom-switch.active {
		background-color: #07c160;
	}

	.custom-switch span {
		color: #666;
		font-size: 14px;
		display: inline-block;
		margin-top: 15rpx;
		font-size: 24rpx;
		font-family: PingFang SC-Bold, PingFang SC;
		font-weight: bold;
	}

	.custom_left {
		float: left;
		color: #008744;
		margin-left: 16rpx;
	}

	.custom_right {
		float: right;
		color: #8D8D8D;
		opacity: 100%;
		margin-right: 16rpx;
	}

	.switch-btn {
		width: 52rpx;
		height: 52rpx;
		position: absolute;
		left: 6rpx;
		top: 6rpx;
		border-radius: 50%;
		background-color: #fff;
		box-shadow: 0 1px 2px rgba(0, 0, 0, .2);
		transition: transform .3s, background-color .3s;
	}

	.custom-switch.active .switch-btn {
		transform: translateX(66rpx);
		background-color: #fff;
	}
</style>

在上面的代码中,我们通过 props 属性定义了组件需要接收的参数:

value: 表示开关的状态,必须为 Boolean 类型,默认值为 false。

在组件内部,我们使用了一个 div 元素作为开关的容器,并且监听了容器的 click 事件。当容器被点击时,调用 toggle 方法改变开关的状态,并通过 $emit 方法向父组件发送 input 事件。

在样式方面,我们定义了开关容器的样式、开关按钮的样式以及选中时的样式,从而实现了一个简单的自定义 Switch 组件。

使用自定义 Switch 组件的方式与使用 uView 中的 Switch 开关选择器是相似的。在父组件中引入 switchs 组件,并将组件的 value 绑定到父组件的数据中,即可实现开关的功能。

在父元素中使用:

<template>
  <div>
  	<switchs v-model="state" ></switchs>
  </div>
</template>

<script>
import CustomSwitch from '@/components/CustomSwitch.vue';

export default {
  components: {
    CustomSwitch,
  },
  data() {
    return {
     state: false,
    };
  },
};
</script>

在上面的代码中,我们通过 import 关键字引入了自定义的 Switch 组件,并在 components 属性中注册。然后,在模板中使用 switchs 标签引入组件,并将 v-model 指令绑定到 state数据中,表示开关的状态

这样就可以在页面中使用自定义 Switch 组件,并且实现了加入文字的效果。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

自定义Switch背景带文字 的相关文章

  • 如何向 jQuery Tokeninput 添加占位符?

    如何将占位符添加到 jQuery Tokeninput 字段 一个正常的placeholder属性在这里不起作用 对于这样的输入
  • 如何将中间件绑定到socket.io中的事件

    现在您可以将中间件绑定到io use middleware 但这仅在建立套接字连接时触发 有没有办法在将其传递给事件句柄之前拦截它 就像在expressjs中一样 换句话说 In 快递 js你可以做 app get middleware1
  • ant-d upload中如何为removeFile添加PopConfirm一个图片文件

    我正在使用 Ant d Upload 通过本地系统上传文件 然后单击文件预览图像上的删除图标 图像文件将被删除 我想添加一个弹出确认 所以我尝试在 onRemovefunction 中添加确认作为承诺但它不起作用 它在浏览器中显示警报 on
  • 为什么 jQuery 点击事件会多次触发

    我这里有这个示例代码http jsfiddle net DBBUL 10 http jsfiddle net DBBUL 10 document ready function creategene click function confir
  • 如何通过 HTML 按钮播放声音

    我目前通过网站播放音乐的方法是通过 HTML 音频标签 不过我希望能够通过 HTML 按钮来播放它 该按钮应该能够在播放和停止之间切换音乐 我在 JSFiddle 创建了一个示例 但不知道如何实现它 有人可以告诉我如何使用我的 JSFidd
  • 在 BIRT 中输入参数后更新数据集查询

    在 BIRT 报告设计中传递参数后 如何更改或更新数据集的查询 详细说明 我有一个如下所示的查询 WHERE 该参数标记可以保存不同的值 在用户输入参数后 它看起来像这样 例如 WHERE column name 1 or WHERE co
  • Flask wtf.quick_form 运行一些 javascript 并设置表单变量

    我正在创建博客文章 到目前为止已经使用普通的 html 表单完成了 我所做的一个有趣的想法是运行 javascript onclick 并使用页面中的额外数据在表单中设置一个隐藏变量 这很好地传递到服务器并通过 request form 获
  • 将 Sweet Alert 弹出窗口添加到 React 组件中的按钮

    我为 Bootstrap 和 React 找到了这个完美的 Sweet Alert 模块 我在 Meteor 应用程序中使用它 http djorg83 github io react bootstrap sweetalert http d
  • 在 MVC Razor 中的 C# 和 Javascript 之间共享常量

    我想在服务器上的 C 和客户端上的 Javascript 中都使用字符串常量 我将常量封装在 C 类中 namespace MyModel public static class Constants public const string
  • Ember.JS - 如何在同一页面中使用多个模型、控制器和视图?

    我主要了解 Ember JS 的基础知识 大多数示例实际上只处理单个控制器和模型以在页面上显示某些内容 我真的很想用 Ember 构建一个完整的 Web 应用程序 所以有人能告诉我如何组织和连接多个控制器 模型和视图到一个页面中吗 例如 如
  • 如何记录返回的事件发射器

    如何记录所发出的事件stream返回于MyFunc 与 JSDoc MyFunc description param Object opts description return Stream description function My
  • 如何改变HTML5视频的播放速度?

    如何更改 HTML5 中的视频播放速度 我查过视频标签的属性 https www w3schools com html html5 video asp在 w3school 但无法做到这一点 根据这个网站 http www chipwreck
  • v-file-input .click() 不是函数

    我试图以编程方式触发 v file input 的 click 事件 因为它在 Vuetify 的文档中 但它显示一个错误this refs imagePicker click is not a function我在这里错过了什么吗 代码重
  • 如何访问另一个 mobx 商店中的 mobx 商店?

    假设以下结构 stores RouterStore js UserStore js index js each of Store jsfiles 是一个 mobx 存储类 包含 observable and action index js只
  • 如何使 jQuery 向上动画

    我有一些 jquery 运行得相当好 但是当我将鼠标悬停在有问题的元素上时 底部向下扩展 这并不意外 但不是所需的效果 我希望元素的底部保持静止 而元素的顶部向上扩展 如果您想查看我目前拥有的内容 您可以导航至http demo ivann
  • 如何在网页上实现文件上传进度条?

    当用户将文件上传到我的网络应用程序时 我想显示比动画 gif 更有意义的内容 我还有哪些可能性 编辑 我正在使用 Net 但我不介意是否有人向我展示与平台无关的版本 如果您对这一切在客户端通常如何工作感兴趣 就是这样 所有解决方案都通过 J
  • 有关于 PHP 中的 V8JS 的文档吗?

    有没有关于V8JS的文档 我是否只需要标准 PHP 或一些扩展即可使用 V8JS 我将非常感谢有关 PHP 中的 V8JS 的任何信息 要求 PHP 5 3 3 和 V8 库和标头安装在正确的路径中 Install http www php
  • 如何在 Bootstrap 3 中指定行高?

    使用 Bootstrap 3 我将 row 类的高度设置为 3 5em 我在行中有几个输入 它们与行的顶部对齐 我想让它们底部对齐 我尝试过垂直对齐 底部的样式 但这似乎不起作用 我想让东西底部对齐的原因是我有一个浮动标签 我在输入字段上方
  • ng-model 和值组合不适用于输入文本框

    我有两个输入文本框 我需要组合在两个文本框中输入的值并将其显示在第三个文本框中 如果我只使用value在第三个文本框中 Box 1
  • 如何更改订阅值?使用 rxJS

    我正在创建一个计时器 需要你的帮助 我刚刚学习 Angular 和 rxJS 对此我有一些疑问 我正在创建一个具有启动 停止 暂停 重置功能的计时器 并且 btn Reset 必须将我的计时器 暂停 到 300 毫秒 怎么做 D 我的启动定

随机推荐

  • linux日志管理工具logrotate配置

    linux日志管理工具logrotate配置 logrotate介绍 logrotate配置讲解 主配置文件解释 etc logrotate conf logrotete 命令参数 添加配置 以添加一个nginx配置为例 强制启动配置 lo
  • 蜜罐技术

    前言 之前一直就有听说过蜜罐 蜜罐的 不知道是什么技术 今天在公司看到一份资料算是基本弄清楚了 和大家分享一下 何为蜜罐 Honeypot 蜜罐 Honeypot 这一概念最初出现在1990 年出版的一本小 TheCuckoo sEgg 中
  • 【论文阅读】Dimensionality Reduction by Learning an Invariant Mapping

    1 背景 对比学习算是比较早就已经提出了一种技术 其中 早期比较有名的一篇文章就是Lecun等在 Dimensionality Reduction by Learning an Invariant Mapping 简称 DrLIM 文章中提
  • IKE 协议(转)

    from http lulu1101 blog 51cto com 4455468 817872 IKE 协议 2012 03 26 21 49 50 标签 休闲 ike 职场 IKE 协议简介 1 IKE 协议 IPSec 的安全联盟可以
  • K8S 工作负载(一)

    K8S 工作负载 1 Pod Pod 是 Kubernetes 中创建 管理和调度的最小计算单元 用户可以在 K8S 中通过调用 Pod API生成一个 Pod 让 K8S 对其进行调度 Pod 是一组 一个或多个 容器 这些容器共享存储
  • 实现基于DR模型的LVS

    环境 client 桥接 router 桥接 vmnet8 ip forward LVS vmnet8 rs1 rs2 vmnet8 GATE XXXX
  • strongswan介绍

    文章目录 保障网络安全 IKE和IPsec基础 认证基础知识 配置文件基础 使用和维护 日志和监测 PKI 路由 strongswan介绍文档翻译 原文链接 保障网络安全 strongswan是一套完整的IPsec实现方案来提供服务端和客户
  • Pytorch学习笔记(16)———预训练模型微调

    完整工程 工程目录结构 Code import torch import torch optim as optim import torch nn as nn from torch utils data import DataLoader
  • 计算两幅图像的相似度(PSNR、SSIM、MSE、余弦相似度、MD5、直方图、互信息、Hash)& 代码实现 与举例

    MSE Mean Squared Error 均方误差 MSE公式 MSE 计算模型的预测 与真实标签 Y 的接近程度 公式表示为 对于两个m n的单通道图像I和K 它们的均方误差可定义为 优点 MSE的函数曲线光滑 连续 处处可导 便于使
  • Matlab从指定行读取文本文件(textscan)

    在帮助别人的同时提高自己 有人提到这个问题 给了我去探究的机会 将最终代码做一下记录 问题描述 现有一大矩阵存储于某一txt文件末端 需要用导入matlab进行进一步的处理 这就需要略过前面很多无效行 如果采用传统的fscanf未免有些麻烦
  • Oracle数据库查询最近一周的记录(后台时间存储类型为10位时间戳)

    现有一张SHOPPING表 记录最近的购物记录 包括商品名 金额 时间 以10位时间戳形式存储 为了更直观地了解时间信息 我们需要将10位时间戳转换成我们能够看懂的时间字符串 查询sql如下 SELECT NAME AMOUNT CDATE
  • Python 搭建虚拟环境

    简介 实际开发中 我们为了防止python安装的包污染用户环境 比如你是root用户 利用pip安装后的包会放在root的python安装录中 很可能会影响root用户的其他操作 我们用root用户使用pip安装软件包后 linux环境会报
  • Django2.0-templates(1)-渲染模版方式和模版查找路径

    templates Django自带的是DTL Django Templates language DTL模版是一种带有特殊语法的HTML文件 该文件可以被Django编译 可以传递参数进去 实现数据动态化 编译完成后 生成一个普通的HTM
  • 如何安装elasticsearch分布式搜索引擎

    文章目录 安装elasticsearch 1 部署单点es 1 1 创建网络 1 2 下载镜像 1 3 运行 2 部署kibana 2 1 部署 2 2 安装中文 2 3 DevTools 3 安装IK分词器 3 1 在线安装ik插件 较慢
  • MQL5:zig-zag 指标

    Zig Zag 指标是用于描述高低点趋势的指标 MQL5 官方实现 MQL5 官方实现十分地烂 辣鸡 很多无用的变量 程序冗长 不一致 效率低下 感觉是多个菜鸟合作写出来的 有一些没有用的变量都没有删掉 不过 先来看看MQL5的官方实现 辅
  • 在ActiveX控件中如何动态调用DLL函数

    刚到公司不久 接到领导的下达的一个任务 就是把对POS机操作功能封装在ActiveX控件中 在IE中调用 这样就能实现在IE上直接对POS机进行操作 而我要封装的这个动态库 厂家只提供了一个单的动态库和一百多字的说明 也就是说明一下动态库中
  • vue笔记-inheritAttrs及$attr表示含义(一)

    一 引用官方解释 inheritAttrs 默认值true 在这种情况下父作用域的不被认作 props 的特性绑定 attribute bindings 将会 回退 且作为普通的 HTML 特性应用在子组件的根元素上 attr 包含了父作用
  • 服务器网站用绝对路径,云服务器上的绝对路径

    云服务器上的绝对路径 内容精选 换一换 已成功登录Java性能分析 待安装分析辅助软件的服务器已开启sshd Java性能分析优先选用非交互shell non interactive shell 中的JAVA HOME环境变量所指定的JRE
  • 关于iptables -m选项以及规则的理解

    关于iptables的详细状态可以查看http os 51cto com art 201108 285209 htm 时常在服务器的防火墙上看到有这些规则 2 106K 8294K ACCEPT all 0 0 0 0 0 0 0 0 0
  • 自定义Switch背景带文字

    需要实现的效果 标题代码实现 div class custom switch span class custom left 关灯 span div class switch btn div span class custom right 开