Vue仿支付宝支付功能


Posted in Javascript onMay 25, 2018

先给大家上个效果图:

Vue仿支付宝支付功能 

<div class="goods-psd">
  <p class="apply-title">
   请输入支付密码
  </p>
  <p style="margin: 0.2rem">确认支付 <span>{{password}}</span> </p>
  <div class="psd-container">
   <input class="psd-input" type="password" readonly v-for="(value,index) in passwordGroup" :key="index" :value="value.value">
  </div>
 </div>
 <div class="input-pan">
  <div class="pan-num" v-for="(value,num) in number" :key="num" @click="inputPsd(value)">{{value}}</div>
 </div>
</div>

不管逻辑有没有搞懂,先把样式写出来总是没错啦~

思路梳理

1.输入框使用for循环,循环出6个input; 2.下面的按键使用for循环,便于后期存储记录; 3.将所输入的密码放入到pasgroup数组中; 4.定义输入框的下标,将pasgroup数组内容按照下标依次放入input内; 5.开始代码啦~

代码

data () {
  return {
   popupVisible1: true,
   realInput: '',
   password: '111',
   passwordGroup: [],
   number: ['1','2','3','4','5','6','7','8','9','取消','0','删除'],
   pasgroup: [],
   currentInputIndex:-1
  }
 }

在data内定义好我们需要的元素

initPasswordGroup () {
 this.passwordGroup=[];
 for(var i=0;i<6;i++){
  this.passwordGroup.push({
    value:null
  })
 }
}

循环出input,将其内容赋值为value:null,在界面上显示出6个输入框

watch: {
  currentInputIndex (val) {
   if(val == 5){
    console.log(this.pasgroup)
   }else if(val <= -1){
    this.currentInputIndex = -1
   }
  }
 }

监听数组下标的变化,当下标到5的时候打印出该数组

inputPsd (value) {
   switch (value) {
    case '取消':
     this.currentInputIndex = -1
     this.pasgroup = []
     this.initPasswordGroup ()
     break;
    case '删除':
     this.pasgroup.pop()
     console.log(this.pasgroup)
     // this.currentInputIndex 下标值,删除添加时改变
     this.passwordGroup[this.currentInputIndex].value = null
     this.currentInputIndex--
     console.log(this.passwordGroup)
     break;
    default:
     this.pasgroup.push(value)
     this.currentInputIndex++
     this.passwordGroup[this.currentInputIndex].value = value
   }
  },

获取到所点击的元素,当点击‘取消'时清空input 输入框内的内容,清除数组;当点击‘删除'时,下标值依次减减,将value重置为null; 当点击其他数字时,下标值依次增加,将数组pasgroup[]里面的内容写进passwordGroup[]里面,在输入框中展示。

总结

以上所述是小编给大家介绍的Vue仿支付宝支付功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
用js实现in_array的方法
Nov 05 Javascript
简易的投票系统以及js刷票思路和方法
Apr 07 Javascript
理解javascript定时器中的setTimeout与setInterval
Feb 23 Javascript
jQuery Dialog对话框事件用法实例分析
May 10 Javascript
详解handlebars+require基本使用方法
Dec 21 Javascript
webpack打包node.js后端项目的方法
Mar 10 Javascript
微信小程序开发之自定义tabBar的实现
Sep 06 Javascript
vue.js实现的全选与全不选功能示例【基于elementui】
Dec 03 Javascript
vue组件通信传值操作示例
Jan 08 Javascript
Vue+Express实现登录注销功能的实例代码
May 05 Javascript
js获取浏览器地址(获取第1个斜杠后的内容)
Sep 03 Javascript
vue中用 async/await 来处理异步操作
Jul 18 Javascript
微信小程序实现人脸检测功能
May 25 #Javascript
微信小程序实现人脸识别
May 25 #Javascript
微信小程序实现刷脸登录
May 25 #Javascript
JS实现生成由字母与数字组合的随机字符串功能详解
May 25 #Javascript
promise和co搭配生成器函数方式解决js代码异步流程的比较
May 25 #Javascript
JS简单生成由字母数字组合随机字符串示例
May 25 #Javascript
Webpack中雪碧图插件使用详解
May 25 #Javascript
You might like
短波问题解答
2021/02/28 无线电
深入php list()函数的详解
2013/06/05 PHP
自己写的php中文截取函数mb_strlen和mb_substr
2015/02/09 PHP
thinkPHP中钩子的使用方法实例分析
2017/11/16 PHP
jquery绑定原理 简单解析与实现代码分享
2011/09/06 Javascript
jquery.fileEveryWhere.js 一个跨浏览器的file显示插件
2011/10/24 Javascript
15款jQuery分布引导插件分享
2015/02/04 Javascript
jQuery EasyUI Pagination实现分页的常用方法
2016/05/21 Javascript
AngularJS基础 ng-if 指令用法
2016/08/01 Javascript
Vue数据绑定实例写法
2019/08/06 Javascript
详解vue 命名视图
2019/08/14 Javascript
vue中利用iscroll.js解决pc端滚动问题
2020/02/15 Javascript
[00:36]DOTA2上海特级锦标赛 Alliance战队宣传片
2016/03/04 DOTA
[02:37]2018DOTA2亚洲邀请赛赛前采访 VP.no[o]ne心中最强SOLO是谁
2018/04/04 DOTA
[59:15]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第一场 11.20
2020/11/20 DOTA
详解Python import方法引入模块的实例
2017/08/02 Python
详解python中executemany和序列的使用方法
2017/08/12 Python
python爬虫实战之最简单的网页爬虫教程
2017/08/13 Python
Python中字符串String的基本内置函数与过滤字符模块函数的基本用法
2019/05/27 Python
python读取dicom图像示例(SimpleITK和dicom包实现)
2020/01/16 Python
python如何爬取动态网站
2020/09/09 Python
使用CSS3实现input多选框自定义样式的方法示例
2019/07/19 HTML / CSS
详解window.open被浏览器拦截的解决方案
2019/07/18 HTML / CSS
巴塞罗那观光通票:Barcelona Pass
2019/10/30 全球购物
外语专业毕业生个人的自荐信
2013/11/19 职场文书
小学运动会入场式解说词
2014/02/18 职场文书
道路交通安全实施方案
2014/03/12 职场文书
出售房屋协议书范本
2014/10/06 职场文书
党建工作汇报材料
2014/12/24 职场文书
离婚答辩状范文
2015/05/22 职场文书
优质服务标语口号
2015/12/26 职场文书
浅谈MySQL 亿级数据分页的优化
2021/06/15 MySQL
html输入两个数实现加减乘除功能
2021/07/01 HTML / CSS
一篇文章带你学习Mybatis-Plus(新手入门)
2021/08/02 Java/Android
《火纹风花雪月无双》预告“神秘雇佣兵” 紫发剑客
2022/04/13 其他游戏
Python first-order-model实现让照片动起来
2022/06/25 Python