035:vue项目中 radio和checkbox美化方法

news2024/9/25 13:23:41

在这里插入图片描述

第035个

查看专栏目录: VUE ------ element UI


专栏目标

在vue和element UI联合技术栈的操控下,本专栏提供行之有效的源代码示例和信息点介绍,做到灵活运用。

(1)提供vue2的一些基本操作:安装、引用,模板使用,computed,watch,生命周期(beforeCreate,created,beforeMount,mounted, beforeUpdate,updated, beforeDestroy,destroyed,activated,deactivated,errorCaptured,components,)、 $root , $parent , $children , $slots , $refs , props, $emit , eventbus ,provide / inject, Vue.observable, $listeners, $attrs, $nextTick , v-for, v-if, v-else,v-else-if,v-on,v-pre,v-cloak,v-once,v-model, v-html, v-text, keep-alive,slot-scope, filters, v-bind,.stop, .native, directives,mixin,render,国际化,Vue Router等

(2)提供element UI的经典操作:安装,引用,国际化,el-row,el-col,el-button,el-link,el-radio,el-checkbox ,el-input,el-select, el-cascader, el-input-number, el-switch,el-slider, el-time-picker, el-date-picker, el-upload, el-rate, el-color-picker, el-transfer, el-form, el-table, el-tree, el-pagination,el-badge,el-avatar,el-skeleton, el-empty, el-descriptions, el-result, el-statistic, el-alert, v-loading, $message, $alert, $prompt, $confirm , $notify, el-breadcrumb, el-page-header,el-tabs ,el-dropdown,el-steps,el-dialog, el-tooltip, el-popover, el-popconfirm, el-card, el-carousel, el-collapse, el-timeline, el-divider, el-calendar, el-image, el-backtop,v-infinite-scroll, el-drawer等

本文章目录

    • 专栏目标
    • 需求背景
    • 示例效果
    • 示例源代码(共160行)

需求背景

在vue项目开发中,经常会用到radio和checkbox, 有时候原有的丑陋样式不能满足产品和UI的法眼,就需要更换一种表达方式。在本文中,我们通过覆盖等技术手段实现了radio和checkbox的样式美化。

示例效果

在这里插入图片描述

示例源代码(共160行)

/*
* @Author: 大剑师兰特(xiaozhuanlan),还是大剑师兰特(CSDN)
* @此源代码版权归大剑师兰特所有,可供学习或商业项目中借鉴,未经授权,不得重复地发表到博客、论坛,问答,git等公共空间或网站中。
* @Email: 2909222303@qq.com
* @weixin: gis-dajianshi
* @First published in CSDN
* @First published time: 2022-09-16
*/
<template>
	<div class="container">
		<div class="top">
			<h3>radio和checkbox美化方法</h3>
			<div class="author">大剑师兰特, 还是大剑师兰特,gis-dajianshi</div>
		</div>

		<div class="box">
			<div v-for="(item,index) in radioList" :key="index" class="radioCss">
				<input v-show="false" type="radio" name="gender" :value="item.value" :id="item.value"
					:checked="sex==item.value" @click="clickRadio(item.value)" />
				<label :for="item.value">
					<div v-show="sex==item.value" class="a4 hand" alt="选中"></div>
					<div v-show="sex!=item.value" class="a3 hand" alt="未选中"></div>
					{{item.label}}
				</label>
			</div>
		</div>

		<!-- 复选框 -->
		<div class="box">
			<div v-for="item in checkBoxList" :key="item.value">
				<label>
					<div v-show="fruit.includes(item.value)" class="a2 hand">{{item.label}} </div>
					<div v-show="!fruit.includes(item.value)" class="a1 hand">{{item.label}} </div>
					<input v-show="false" @click="clickCheckBox(item.value)" name="Fruit" type="checkbox"
						:value="item.value" :checked="fruit.includes(item.value)" />
		 	</label>
			</div>
		</div>
	</div>
</template>
<script>

	export default {
		data() {
			return {
				radioList: [{
						value: "男",
						label: "男"
					},
					{
						value: "女",
						label: "女"
					},
				],
				sex: "",
				checkBoxList: [{
						value: "苹果",
						label: "苹果"
					},
					{
						value: "香蕉",
						label: "香蕉"
					},
					{
						value: "梨",
						label: "梨"
					},
					{
						value: "西瓜",
						label: "西瓜"
					}
				],
				fruit: []
			}
		},
		methods: {
			clickRadio(val) {
				this.sex = val;
			},
			clickCheckBox(val) {
				if (this.fruit.includes(val)) {
					this.fruit.splice(this.fruit.indexOf(val), 1);
				} else {
					this.fruit.push(val);
				}
			}
		},
	}
</script>
<style scoped>
	.container {
		width: 1000px;
		height: 580px;
		margin: 50px auto;
		border: 1px solid green;
		position: relative;
	}

	.top {
		margin: 0 auto 30px;
		padding: 10px 0;
		background: hotpink;
		color: #fff;
	}

	.box {
		width: 300px;
		border: 1px solid #ddd;
		padding: 20px 5%;
		clear: both;
		overflow: hidden;
		margin: 50px auto 20px;
	}

	.radioCss {
		width: 50%;
		float: left;
		
	}
    .hand{cursor: pointer;}
	.a1 {
		display: inline-block;
		padding: 7px 13px;
		font-size: 13px;
		background-color: #ddd;
		margin: 0px 20px 10px 0;
		float: left;
		color: #444;
	}

	.a2 {
		display: inline-block;
		padding: 7px 13px;
		font-size: 13px;
		background-color: hotpink;
		margin: 0px 20px 10px 0;
		float: left;
		color: #fff;
	}

	.a3 {
		display: inline-block;
		padding: 10px;
		border-radius: 10px;
		font-size: 13px;
		background-color: #ddd;
		margin: 0px 10px 10px 0;
		float: left;
		color: #444;
	}

	.a4 {
		display: inline-block;
		padding: 10px;
		border-radius: 10px;
		font-size: 13px;
		background-color: hotpink;
		margin: 0px 10px 10px 0;
		float: left;
		color: #fff;
	}
</style>


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1014027.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于matlab实现的中点放炮各类地震波时距曲线程序

完整程序&#xff1a; clear all dx50;x-500:dx:500;%炮检距 h100;V11500; theta25*pi/180; V2V1/sin(theta); t1sqrt(x.*x4*h*h)/V1;%反射波时距曲线 t2abs(x)./V1;%直达波时距曲线 %折射波时距曲线 xm2*h*tan(theta);%求盲区 k1; for i1:length(x) if x(i)<-xm …

JVM 篇

一、知识点汇总 其中内存模型&#xff0c;类加载机制&#xff0c;GC是重点方面。性能调优部分更偏向应用&#xff0c;重点突出实践能力。编译器优化和执行模式部分偏向于理论基础&#xff0c;重点掌握知识点。 内存模型&#xff1a;各部分作用&#xff0c;保存哪些数据。类加载…

Python if条件分支结构

视频版教程 Python3零基础7天入门实战视频教程 如果 Python程序的多行代码之间没有任何流程控制&#xff0c;则程序总是从上向下依次执行。 但是现实生活中&#xff0c;我经常遇到一些需要做判断的业务流程。比如去银行ATM取款&#xff0c;如果密码输入正确&#xff0c;则可以…

基于matlab实现的额特征线法管道瞬变流计算程序

完整曲线&#xff1a; % 假设阀门瞬间关闭 % 初始数据: clear tic L3000; % 管线长度 Hr70; % 泵压力 N10; % 分段数 NSN1; % 节点数 e0.001651; % 壁厚m,0.065 D0.00635-2*e; % 管道内径 K2.1e9; % 流体体积弹性系数 Rho…

软考高级架构师下篇-15嵌入式系统架构设计的理论

目录 1. 引言2. 嵌入式系统发展历程3. 嵌入式系统硬件4.嵌人式系统软件5.嵌入式系统软件架构设计方法6.嵌入式系统软件架构实践7. 前文回顾1. 引言 此章节主要学习嵌入式系统架构设计的理论和工作中的实践。根据新版考试大纲,本小时知识点会涉及案例分析题(25分)。在历年考…

Redis 配置文件详解 - 持久化(RDB、AOF)

目录 Redis 配置文件详解 单位 包含 INCLUDES 网络 NETWORK 通用 GENERAL 快照 SNAPSHOTTING &#xff08;持久化&#xff09; 复制 REPLICATION&#xff08;主从复制&#xff09; 安全 SECURITY&#xff08;账号密码设置&#xff09; ​编辑 限制 CLIENTS 追加模…

Redis - 超越缓存的多面手

文章目录 Redis 使用场景图解 Redis 使用场景 Redis可以在各种场景中使用 &#x1f539;会话 我们可以使用Redis在不同服务之间共享用户会话数据。 &#x1f539;缓存 我们可以使用Redis缓存对象或页面&#xff0c;特别是对于热点数据。 &#x1f539;分布式锁 我们可以使用…

gin框架再探

Gin框架介绍及使用 | 李文周的博客 (liwenzhou.com) lesson03_gin框架初识_哔哩哔哩_bilibili 1.路由引擎 //路由引擎 rgin.Default() 2.一些http请求方法 get post put delete等等 遇到什么路径&#xff0c;执行什么函数 r.GET("/hello",func{做你想做的事返回…

【Linux】缓冲区/回车换行

1、缓冲区 C程序默认有输出缓冲区。数据输出时&#xff0c;被及时看到&#xff0c;是立马刷新了&#xff1b;如果没被看到&#xff0c;是被暂存在数据缓冲区中。fflush(stdout); 【强制刷新】\n【行刷新&#xff0c;也是一种刷新方式】 2、回车换行 \n【回车换行】输入完一行内…

如何根据性能需求进行场景设计?

场景设计一 探索 测试环境 客户端: win10 这里可以用linux,但没用,因为想直观查看结果。 被测环境:linux X86 4核CPU16G内存 被测接口:登录接口,没有做数据驱动。 在测试执行前,先使用influxSQL把influxdb的数据清理一下,以防影响结果查看。 有这么一个需求,要求系…

docker中安装Ubuntu20,浏览器访问其图形界面

介绍 Kasm&#xff08;https://kasmweb.com/&#xff09;是一家提供虚拟化和远程访问解决方案的公司。他们的主要产品是 Kasm Workspaces&#xff0c;它是一个基于浏览器的虚拟桌面和应用程序交付平台。 Kasm Workspaces 基于开源项目 Apache Guacamole 和 Chromium 浏览器引…

python连接mysql数据库的练习

一、导入pandas内置的sqlite3模块&#xff0c;连接的信息&#xff1a;ip地址是本机, 端口号port 是3306, 用户user是root, 密码password是123456, 数据库database是lambda-xiaozhang import pymysql# 打开数据库连接&#xff0c;参数1&#xff1a;主机名或IP&#xff1b;参数…

安装Anaconda与pytorch,在IDEA中配置环境进行编程

1.官网下载与自己python版本匹配的Anaconda(注意&#xff0c;要想成功安装pytorch&#xff0c;python版本也要对应pytorch的相关版本) Anaconda官网最新版本 与自己python版本不否请查找自己版本anaconda版本对应 清华大学镜像下载 2.安装时勾选添加环境变量或者手动添加&am…

Vue.js vs React:哪一个更适合你的项目?

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

红外检漏技术

SF6气体绝缘设备发生泄漏后会造成运行开关闭锁、 内部绝缘击穿&#xff0c; 泄漏到空气中会造成环境污染&#xff0c; 并严重危害现场人员安全。 再加之SF6气体成本高&#xff0c; 频繁补气&#xff0c; 使维护成本增加&#xff0c; 造成经济损失。 红外检漏是依据SF6气体对红外…

SpringBoot如何保证接口安全?

对于互联网来说&#xff0c;只要你系统的接口暴露在外网&#xff0c;就避免不了接口安全问题。如果你的接口在外网裸奔&#xff0c;只要让黑客知道接口的地址和参数就可以调用&#xff0c;那简直就是灾难。 举个例子&#xff1a;你的网站用户注册的时候&#xff0c;需要填写手…

byte buddy字节码增强——输出方法执行时间

目标&#xff1a; 输出各函数执行时间 引包 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"…

Vue Router入门:为Vue.js应用添加导航

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

Vue.js新手指南:从零开始建立你的第一个应用

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

在SpringBoot项目中整合SpringSession,基于Redis实现对Session的管理和事件监听

1、SpringSession简介 SpringSession是基于Spring框架的Session管理解决方案。它基于标准的Servlet容器API&#xff0c;提供了Session的分布式管理解决方案&#xff0c;支持把Session存储在多种场景下&#xff0c;比如内存、MongoDB、Redis等&#xff0c;并且能够快速集成到Spr…