自定义的车牌号键盘组件

这篇具有很好参考价值的文章主要介绍了自定义的车牌号键盘组件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

自定义的车牌号键盘组件,# vue,vue.js,javascript,css3文章来源地址https://www.toymoban.com/news/detail-528358.html

<template>
	<view class="keyboard-wrap" v-if="kbShow">
		<view class="head">
			<view class="done" @tap="done">
				<text class="iconfont iconxiala-"></text>关闭
			</view>
		</view>

		<view class="key-list">
			<view class="colspan" :class="{'active' : index === currentIndex }" v-for="(item, index) in keyboardList"
				:key="index">
				<view class="uni-flex" v-for="(secondItem, secondIndex) in item" :key="secondIndex">
					<view class="item" :class="{'disable': thridItem.split(',')[1] == 'f'}"
						v-for="(thridItem, thridIndex) in secondItem" :key="thridIndex"
						@tap.stop="touchstartActive(thridItem)">
						<view class="content">
							{{thridItem.split(',')[0]}}
						</view>
					</view>
				</view>
			</view>
			<!-- 删除键 -->
			<view class="item del-item" @tap.stop="del" :style="{right:(currentIndex==0?'10.5vw':'1vw') }">
				
			</view>
		</view>
	</view>
</template>
<script>
	export default {
		data() {
			return {
				keyboardList: [], //键盘类型
				currentIndex: 0 //键盘区当前下标
			}
		},
		props: ['kbIndex', 'kbType', 'kbShow'],
		mounted() {
			this.keyboardList = [
				[
					['京', '津', '晋', '冀', '蒙', '辽', '吉', '黑', '沪'],
					['苏', '浙', '皖', '闽', '赣', '鲁', '豫', '鄂', '湘'],
					['', '粤', '桂', '琼', '渝', '川', '贵', '云', '藏', ''],
					['', '', '陕', '甘', '青', '宁', '新', 'W', '', ''],
				],
				[
					['1,f', '2,f', '3,f', '4,f', '5,f', '6,f', '7,f', '8,f', '9,f', '0,f'],
					['Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'O', 'P', '军,f'],
					['A', 'S', 'D', 'F', 'G', 'H', 'J', 'K', 'L', '警,f'],
					['Z', 'X', 'C', 'V', 'B', 'N', 'M', '港,f', '澳,f', ''],
				],
				[
					['1', '2', '3', '4', '5', '6', '7', '8', '9', '0'],
					['Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'O', 'P', '军,f'],
					['A', 'S', 'D', 'F', 'G', 'H', 'J', 'K', 'L', '警,f'],
					['Z', 'X', 'C', 'V', 'B', 'N', 'M', '港,f', '澳,f', ''],
				],
				[
					['1', '2', '3', '4', '5', '6', '7', '8', '9', '0'],
					['Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'O', 'P', '军,f'],
					['A', 'S', 'D', 'F', 'G', 'H', 'J', 'K', 'L', '警,f'],
					['Z', 'X', 'C', 'V', 'B', 'N', 'M', '港,f', '澳,f', ''],
				],
				[
					['1', '2', '3', '4', '5', '6', '7', '8', '9', '0'],
					['Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'O', 'P', '军,f'],
					['A', 'S', 'D', 'F', 'G', 'H', 'J', 'K', 'L', '警,f'],
					['Z', 'X', 'C', 'V', 'B', 'N', 'M', '港,f', '澳,f', ''],
				],
				[
					['1', '2', '3', '4', '5', '6', '7', '8', '9', '0'],
					['Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'O', 'P', '军,f'],
					['A', 'S', 'D', 'F', 'G', 'H', 'J', 'K', 'L', '警,f'],
					['Z', 'X', 'C', 'V', 'B', 'N', 'M', '港,f', '澳,f', ''],
				],
				[
					['1', '2', '3', '4', '5', '6', '7', '8', '9', '0'],
					['Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'P', '学', '军'],
					['A', 'S', 'D', 'F', 'G', 'H', 'J', 'K', 'L', '警'],
					['Z', 'X', 'C', 'V', 'B', 'N', 'M', '港', '澳', ''],
				],
				[
					['1', '2', '3', '4', '5', '6', '7', '8', '9', '0'],
					['Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'O', 'P', '军,f'],
					['A', 'S', 'D', 'F', 'G', 'H', 'J', 'K', 'L', '警,f'],
					['Z', 'X', 'C', 'V', 'B', 'N', 'M', '港,f', '澳,f', ''],
				]
			]
		},
		watch: {
			//获取键盘区域下标
			kbIndex: {
				immediate: true,
				handler(res) {
					//转为数字类型,防止数据类型不能匹配
					this.currentIndex = Number(res);
				}
			}
		},
		methods: {
			done() {
				this.kbShow = true;
				this.$emit('childClose', '');
			},
			//删除
			del() {
				this.$emit('childDel', this.currentIndex);
				if (this.currentIndex == 0) {
					return;
				}
				this.currentIndex--;
				this.$emit('childIndex', this.currentIndex);
			},
			//点击事件
			touchstartActive(res) {
				//键盘包含f字符不执行
				console.log(this.currentIndex, 'emitqian');
				if (res.split(',')[1] == 'f' || res == '') {
					return;
				}
				this.$emit('childValue', res);
				if (this.currentIndex == this.keyboardList.length - 1) {
					this.$emit('hide')

				}
				this.currentIndex++;
				this.$emit('childIndex', this.currentIndex);
				console.log(this.currentIndex, 'emithou');
			}
		}
	}
</script>

<style lang="less" scoped>
	@color: #007AFF;

	.keyboard-wrap {
		position: fixed;
		bottom: 0;
		right: 0;
		left: 0;
		width: 100%;
		z-index: 999;
		box-shadow: 0 0 30rpx rgba(0, 0, 0, .1);
		box-sizing: border-box;

		.head {
			overflow: hidden;
			background-color: #ffffff;
			border-top: 1rpx #e6e5ef solid;

			.done {
				float: right;
				width: 150rpx;
				height: 90rpx;
				line-height: 90rpx;
				text-align: center;
				color: @color;
				font-size: 3.2vw;
				display: flex;

				.iconfont {
					margin-left: 6rpx;
					font-size: 30rpx;
				}
			}
		}

		.key-list {
			padding: 3.467vw 1.067vw 2.133vw;
			margin: 0 auto;
			text-align: center;
			background: #e3e9ec;
		}

		.uni-flex {
			display: flex;
			margin-bottom: 1.867vw;
			-webkit-box-align: center;
			-webkit-align-items: center;
			-ms-flex-align: center;
			align-items: center;
			justify-content: center;
		}

		/*iphone键盘*/
		.item {
			-webkit-box-flex: 1;
			-webkit-flex: 1;
			-ms-flex: 1;
			flex: 1;
			margin-right: 1.067vw;
			font-size: 0;

			.content {
				display: inline-block;
				width: 100%;
				line-height: 12vw;
				font-size: 4vw;
				color: #0b0b0b;
				-webkit-box-shadow: 0 0.267vw 0.267vw #d7d7d7;
				box-shadow: 0 0.267vw 0.267vw #d7d7d7;
				background-color: #fff;
				border-radius: 1.067vw;
				z-index: 50;
			}

			&.disable .content {
				color: #dadada;
				background-color: #fff;
			}

			&.item:not(.disable):active .content {
				background-color: @color;
				color: #fff;
			}
		}

		.colspan {
			display: none;

			&.active {
				display: block;
			}
		}

		.del-item {
			position: absolute;
			right: 1vw;
			bottom: 2.5vh;
			width: 9vw;
			height: 12vw;
			background: #fff url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACkAAAAcCAYAAAD815boAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpkNTFhYzJlYi1mOWNhLWVmNDYtYjIxZS04ZTBkYTQ1ZWNhMDciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OTJBQjczNURBQ0Y5MTFFODk5MkFDRDI4NDg4RTY5MjQiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OTJBQjczNUNBQ0Y5MTFFODk5MkFDRDI4NDg4RTY5MjQiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6Nzc0MWYzYTAtNDYxMi00ZTQ4LWExNjYtMDA3YWI2ZDlmODg4IiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6N2U1OGRjYzQtMjM3My0xMWU4LTk1OWYtZTA4MmNmMjVmYTkyIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+W15VFwAAAchJREFUeNrMljtIAzEYx1Mt4mMQXO3sViehS0Xo4lZEHcTHpoObDxChIoiiiB0s7k4+kKKIgkIHFTddC07iIDqIkw8UxaL/wCeEmLtL0rN3f/hxdyUXfk3y5RLZye8zg0yCLKts7qsMGg+AFVb5NOtKpsA6iAQgyXQk42AP1LCA4iUZA0egkQUYN8kmEoyxgOMkWU+CcRaCqCSrwTZIWPR3CbbAh0e7c7ALSraSayBtIXgDkrRV8fffHdqtgg7QC3I2ktNg1HJWXsEX3RdAl0KUC44Lz8+mknwEFstYOq1gXniWRWXBdjCl03GUrmmfNusMXWck0RTNkih4TAWqJZmgQvFrs1aJFhSCDSbVndP9R4aiC4rfjQV/JUfAyz9sbyqROs1P8R/JIhgE3z4KykXCPKpeq7oPhDXktyCf4tlyRMWhX6IC8luQr8E5aY0aiYqSfLqH6dNmkysw4VIkGYVo1lSS5w308CO7hWRU6M+pimXRWpPNXMwdiZ5SNeqmBZzRiA65vMtF28AD6LeV5LmgrWnDcDSThFc6/Tr0boLlsJ4n5ak5DLtkidZXMcySPE+gGzyGWZLnGvSBzzBL8pyAsQAcb38EGADqpVx5N+uLlgAAAABJRU5ErkJggg==) no-repeat 50%;
			background-size: 5.467vw;
			
    border-radius: 1.067vw;
			// width: 20%;
			// height: 90rpx;
			.iconfont {
				line-height: 1;
				font-size: 50rpx;
			}
		}

	}

	.iconxiala- {
		background-size: 2.267vw;
		background-repeat: no-repeat;
		display: block;
		width: 5.867vw;
		height: 3vh;
		margin-top: 3.1vh;
		background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAbCAYAAACN1PRVAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjIxRTM1MkM5N0IwQjExRUFBMjg4REY0ODVCRTE2OUUzIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjIxRTM1MkNBN0IwQjExRUFBMjg4REY0ODVCRTE2OUUzIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MjFFMzUyQzc3QjBCMTFFQUEyODhERjQ4NUJFMTY5RTMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MjFFMzUyQzg3QjBCMTFFQUEyODhERjQ4NUJFMTY5RTMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6RjcO5AAAB+ElEQVR42ryWyytEURzHjWdKKRaExTSxYUEplFLyLK+EFDaShYUNC8VOMTvKCguPFSGPhaK88sjO5A/wWGBHNsgwje9Pv1PX8Zs7d+6NX32a7j1z72fOub/znesqmApG/VdF86cbLIBVUPhXslgQBw5ZSFUHmsGug/u6QDcoB/tgEQRJ5jGIqBLBhgMh/fh50MnHXSAezNIy3oAH7QIlrIlQRNetG0SqatUz84MG8ORQmAx2QL0wdmlskAtQ5UCYBo5AmTC2BbxGmRMhPe8TUCCMUWO08Or9kNkR5oJTkCOIJrkjA/o+syMsAscgU7jHCBigdpc2tSSsNBEO8/5J1cZpFn1g3CxBpPKZCMdAknbez3tqOlxcRSrU6xU0gWUr2WhF+BZi/Jmf8Y7VIA6Xc+28fFIlCEtqSxYDZsBQmIjaBNVOZBSeS6DXYiaGFYaS0bJsgzZh7BxUhOhSU6EkSwF73BR67XIzHJhsi5BCXZbBqVAsfHcFNIIXC/tQFBpl2eAM5AkiapIOFagWN/4voZLlc3K7BZGXIyhgI2l+CKP5b5yaIV37MoXoIOdg0GbSKGGJknmE5KZZ9ICJCF4JzIT9SnYNrgyD76CVX1oiLSV81M5/KtkHt/McWAOlPHW75eP73fPxLRj9zr0/fCOm18QscKdm9iXAAMhke9fXWcqOAAAAAElFTkSuQmCC);
	border-radius: 1.067vw;
	}

	
</style>

到了这里,关于自定义的车牌号键盘组件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序 车牌号输入组件

    一个小组件,用于方便用户输入车牌号码 有时候我们开发过程中会遇到需要用户输入车牌号的情况,让客户通过自带键盘输入,体验不好且容易出错,例如车牌号是不能输入O和I的,因此需要有一个自定义的键盘,让客户输入正确的车牌号 1 布局设计 2 数据设计 把合法输入的

    2024年02月11日
    浏览(56)
  • 模拟生成车牌号

    任务描述 本关任务:编写一段能生成若干个车牌号的代码 在本题中,根据如下步骤随机生成若干个车牌号。 分行输入随机种子以及车牌号数量n,生成包含n个车牌号的列表并输出。 车牌号规则: 以’鄂A-‘或’鄂W-‘开头 长度总共为8位,后5位中包含最多2个字母字符,其余

    2024年02月16日
    浏览(50)
  • C练习——肇事卡车车牌号

    题目: 一辆卡车违反交通规则,撞人后逃跑。现场有3人目击事件,但没有记住车牌号,只记住了车号的一些特征。 甲说:“牌照前两位数字是相同的”,乙说:“牌照的后两位数字是相同的,但与前两位不同”,丙是为数学家,他说:“4位车号正好是一个整数的平方”。请

    2024年02月02日
    浏览(41)
  • OpenCV实战5 车牌号识别

    原文在这里,参考这个进行了改进 感觉学到了很多东西,便在这里作下笔记。 效果: 目录 一、知识点学习: 1. fstream 2. 形态学开操作与形态闭操作 2.1 第一个角度:消除较小的联通区域 vs 弥合较小的联通区域 2.2 第二个角度:消除背景噪音 vs 消除前景噪音 3、approPolyDp函数

    2024年02月01日
    浏览(58)
  • 5.9 自选车牌号小程序(project)

    任务描述 本关任务:编写一个能随机产生5个数字的车牌号的小程序。 相关知识 为了完成本关任务,你需要掌握: 1.随机产生一个整数 2.随机产生多个整数 随机产生一个整数(字符) randint(a,b) 可以产生[a,b]之间的一个整数 random.randint(0,10)

    2024年02月08日
    浏览(48)
  • 告别繁琐,ModelArts一键解决车牌号识别难题

    本文分享自华为云社区《基于ModelArts实现车辆车牌号的目标识别》,作者:屿山岛 。 车辆车牌是车辆的唯一身份标识,能够提供车辆的类型、颜色、归属地等信息,对于交通管理、安全监控、智能出行等领域具有重要的应用价值。随着计算机视觉技术的发展,车辆车牌的自

    2024年02月05日
    浏览(65)
  • opencv 车牌号的定位和识别+UI界面识别系统

    目录 一、实现和完整UI视频效果展示 主界面: 识别结果界面:(识别车牌颜色和车牌号) 查看历史记录界面: 二、原理介绍: 车牌检测-图像灰度化-Canny边缘检测-膨胀与腐蚀 边缘检测及预处理-膨胀+腐蚀组合-再一次膨胀-车牌识别 图像最终处理-字符分割及识别 完整演示视

    2024年02月11日
    浏览(58)
  • 深度学习实战项目(一)-基于cnn和opencv的车牌号识别

    网上大部分是关于tensorflow,使用pytorch的比较少,本文也在之前大佬写的代码的基础上,进行了数据集的完善,和代码的优化,效果可比之前的pytorch版本好一点。 数据集来自github开源的字符数据集: 数据集有:0-9,26个字母减去I和O,还有中文字,这里可以看看几张图片:

    2024年02月06日
    浏览(59)
  • 车辆信息快速查找API:轻松查询车牌号对应车辆的详细资料

      车辆信息的快速查找对于许多人来说是非常有用的。无论是想要购买一辆二手车,还是需要了解某辆车的详细信息,这个需求在现实生活中经常会遇到。那么,有没有一种快速方便的方法来实现这个功能呢?答案是有的,就是通过车辆信息快速查找API。 在这篇博文中,我们

    2024年03月24日
    浏览(51)
  • android 自定义车牌键盘(kotlin)

    平时停车缴费都要填车牌号码,就想着自己能不能也做个车牌键盘demo。 自定义车牌键盘能满足(普通车牌,新能源,警车,军车,领事馆车,教练车以及特种车辆等车牌) 1、车牌前两位默认是:粤A 2、第一个控件,默认是省份键盘 3、剩下控件,默认是abc键盘 4、当前输入

    2024年02月16日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包