利用vue实现密码输入框/验证码输入框

 更新时间:2023年08月30日 15:11:19   作者:前端61  
这篇文章主要为大家详细介绍了如何利用vue实现密码输入框或验证码输入框的效果,文中的示例代码讲解详细,感兴趣的小伙伴可以参考一下

1.效果预览

2.实现思路

制作6个小的正方形div

用一个input覆盖在6个div上

给input设置透明(隐藏掉input)

3.源码

html

<div class="input-box flexbox">
	<div class="code-item" :class="codeValue.length == 0 && inputFocus ? 'code-item-active' : ''">{{codeValue[0]}}</div>
	<div class="code-item" :class="codeValue.length == 1 && inputFocus ? 'code-item-active' : ''">{{codeValue[1]}}</div>
	<div class="code-item" :class="codeValue.length == 2 && inputFocus ? 'code-item-active' : ''">{{codeValue[2]}}</div>
    <div class="code-item" :class="codeValue.length == 3 && inputFocus ? 'code-item-active' : ''">{{codeValue[3]}}</div>
    <div class="code-item" :class="codeValue.length == 4 && inputFocus ? 'code-item-active' : ''">{{codeValue[4]}}</div>
    <div class="code-item" :class="codeValue.length >= 5 && inputFocus ? 'code-item-active' : ''">{{codeValue[5]}}</div>
    <el-input class="input-code"
      :value="codeValue"
      :maxlength="6"
      @blur="codeInputBlur"
      @focus="codeInputFocus"
      @input="codeInputChange">
    </el-input>
  </div>

css

  .input-box {
    margin-top: 20px;
    position: relative;
  }
  .input-code {
    position: absolute;
  }
  .code-item {
    width: 50px;
    height: 50px;
    text-align: center;
    line-height: 50px;
    border: 1px solid #f0f0f0;
    margin-right: 10px;
  }
  .code-item-active {
    border: 1px solid #F23026;
    box-sizing: border-box;
  }
  // 隐藏input
  .input-box {
    .el-input__inner {
      width: 362px;
      height: 50px;
      background-color: transparent;
      border: none;
      color: transparent;
    }
  }

js

data() {
    return {
      codeValue: '',
      inputFocus: false,
      sendCodeFlag: false,
      codeTime: 59,
    };
  },
  methods: {
    // 发送验证码
    sendCode() {
      this.codeTime = 59;
      this.sendCodeFlag = true;
      const timer = setInterval(() => {
        this.codeTime -= 1;
        if (this.codeTime <= 0) {
          this.sendCodeFlag = false;
          clearInterval(timer);
        }
      }, 1000);
    },
    // 验证码输入框
    codeInputChange(e) {
      if (e) {
      // 判断输入内容是否为数字
        if ((/^\+?[0-9][0-9]*$/).test(e)) {
          this.codeValue = e;
        }
      } else {
        this.codeValue = '';
      }
    },
    // 验证码输入框失去焦点
    codeInputBlur() {
      this.inputFocus = false;
    },
    // 验证码输入框获取到焦点
    codeInputFocus() {
      this.inputFocus = true;
    },
  },

到此这篇关于利用vue实现密码输入框/验证码输入框的文章就介绍到这了,更多相关vue输入框内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue.js移动端app实战1:初始配置详解

    vue.js移动端app实战1:初始配置详解

    这篇文章主要介绍了vue.js移动端app实战1:初始配置详解,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • 浅谈vue+vite项目部署会遇到的几个问题

    浅谈vue+vite项目部署会遇到的几个问题

    本文主要介绍了vue+vite项目部署会遇到的几个问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • 纯JS如何实现vue.js下的双向绑定功能

    纯JS如何实现vue.js下的双向绑定功能

    对于vue下的双向绑定功能,个人理解为在处理逻辑的过程中缓存了大量的node对象,node对象可以是html标签、文本内容。既然选择了缓存这些对象,那么在用的过程中哪里需要改变就把node拿出来,进行标签属性的变更或者文本内容的修改。本文主要讲了如何实现双向绑定
    2021-06-06
  • 详解vue 项目白屏解决方案

    详解vue 项目白屏解决方案

    这篇文章主要介绍了详解vue 项目白屏解决方案,详细的介绍了白屏的解决方案,非常具有实用价值,需要的朋友可以参考下
    2018-10-10
  • 基于Vue3 + Element Plus实现的日期选择器

    基于Vue3 + Element Plus实现的日期选择器

    本文介绍了使用Vue3和ElementPlus实现日期选择器的方法,包括禁用逻辑联动、设定结束时间不能选今天、时间格式化等功能,通过示例代码展示了两种常用场景的实现方式,适用于直接复制使用,需要的朋友可以参考下
    2026-03-03
  • 如何构建一个Vue插件并生成npm包

    如何构建一个Vue插件并生成npm包

    这篇文章主要介绍了如何构建一个Vue插件并生成npm包,帮助大家更好的理解和使用vue,方便以后的开发,感兴趣的朋友可以了解下
    2020-10-10
  • vue指令只能输入正数并且只能输入一个小数点的方法

    vue指令只能输入正数并且只能输入一个小数点的方法

    这篇文章主要介绍了vue指令只能输入正数并且只能输入一个小数点的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • 浅谈Vue灰度发布新功能的使用

    浅谈Vue灰度发布新功能的使用

    本文主要介绍了浅谈Vue灰度发布新功能的使用,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • Vue中created和mounted使用详解

    Vue中created和mounted使用详解

    Vue中生命周期包括多个阶段,如created和mounted,每阶段有特定钩子函数,生命周期与浏览器渲染过程密切相关,了解这些可以优化页面渲染和数据处理,created阶段适用于数据初始化,而mounted阶段适合进行DOM操作和页面渲染后的处理
    2024-10-10
  • elementUI实现下拉选项加多选框的示例代码

    elementUI实现下拉选项加多选框的示例代码

    因产品需求和UI样式调整,本文主要实现elementUI下拉选项加多选框的示例代码,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10

最新评论