全网最简单的验证码输入框
时间:2019-11-08
本文章向大家介绍全网最简单的验证码输入框,主要包括全网最简单的验证码输入框使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
先上图
要实现一个类似于这样的输入框,而且有几个页面都需要类似的输入框(输入身份证后四位/输入支付密码),就准备撸一个小组件。
# 原理
在一个输入框中输入一串字符串,然后根据下标index分别填入框里,为了代码的可读性,我这里框就用ul,li来写
## 子组件
<template> <div> <label for="code"> <ul class="code-box"> <li class="code-number" v-for="(item, index) in length" :key="index"> {{ code[index] }} </li> </ul> </label> <input class="code-input" v-model="code" :maxlength="length" type="number" id="code" @keyup.13="next()" /> </div> </template> <script> export default { name: "CodeInput", props: { length: { type: Number, default: 6 } }, data() { return { code: "" }; }, methods: { getCode() { return this.code; }, next() { this.$emit("func", this.code); } } }; </script> <style scoped> .code-box { border-radius: 8px; border: 1px solid #cccccc; display: inline-flex; } .code-number { width: 56px; height: 58px; border-right: solid #cccccc 1px; text-align: center; font-size: 30px; color: red; } .code-number:last-child { border-right: 0; } .code-input { height: 0.44rem; position: fixed; outline: none; color: transparent; text-shadow: 0 0 0 transparent; width: 300%; margin-left: 100%; } button { width: 100px; height: 60px; } </style>
## 父组件
<template> <div> <security-code v-model="code" v-on:func="show"></security-code> </div> </template> <script> import securityCode from "../components/password"; export default { components: { securityCode }, data() { return { code: "" }; }, methods: { show() { console.log(this.code); this.$router.push({ path: "/" }); } } }; </script> <style lang="less" scoped></style>
# 注意点
1.label属性:html的label属性可以根据input的id扩大input的点击面积。
2.@keyup.13="next()":这一句是指手机键盘的回车/确定/前进键触发 的事件
3.子组件input的位置:我是通过绝对定位使他不在我可视位置上,不能让他display:none
附加:因为一般父子组件的style都是设置了scoped,如果想对设置了scoped的子组件里的元素进行控制可以使用 ’>>>’ 或者 ’deep’,这个自己百度很多方法
原文地址:https://www.cnblogs.com/dcj2018/p/11819342.html
- 再探matplotlib
- 分布式系统(Distributed System)资料
- Python性能提升20倍居然不是标题党?
- Spark开发电商日志分析用户行为聚合功能练习下面开始搭建开发环境注意Task表中最后一个列task_param中,Json的StartDate和EndDate需要设置成今天,因为mock数据的时候,
- HDU 3783 ZOJ
- HDU 1412 {A} + {B}
- HDU 2092 整数解
- Hadoop数据分析平台实战——020Hadoop Shell命令(初学跳过)离线数据分析平台实战——020Hadoop Shell命令(可跳过)
- HDU 2080 夹角有多大II
- 二分查找模版
- Hadoop数据分析平台实战——010hadoop介绍安装
- Python为什么文件运行和在命令行运行同样语句但结果却不同?
- HDU 2034 人见人爱A-B
- Hadoop数据分析平台实战——030Hadoop Shell命令02(熟悉linux跳过)离线数据分析平台实战——030Hadoop Shell命令02
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法