前端Vue自定义支付密码输入键盘Keyboard和支付设置输入框Input

Posted ccVue

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端Vue自定义支付密码输入键盘Keyboard和支付设置输入框Input相关的知识,希望对你有一定的参考价值。

前端Vue自定义支付密码输入键盘Keyboard和支付设置输入框Input, 下载完整代码请访问uni-app插件市场地址:https://ext.dcloud.net.cn/plugin?id=13166

效果图如下:

cc-defineKeyboard

使用方法


<!-- ref:唯一ref  passwrdType:密码样式pay keyInfo:密码输入监测事件 -->

<cc-defineKeyboard ref="CodeKeyboard" passwrdType="pay" @KeyInfo="KeyInfo"></cc-defineKeyboard>

/** * 唤起键盘 */

onPayUp() 

this.$refs.CodeKeyboard.show();

,

/*** 支付键盘回调* @param Object val */

KeyInfo(val) 

if (val.index >= 6) 

return;



// 判断是否输入的是删除键

if (val.keyCode === 8) 

// 删除最后一位

this.passwordArr.splice(val.index + 1, 1)



// 判断是否输入的是.

else if (val.keyCode == 190) 

// 输入.无效

 else 

this.passwordArr.push(val.key);



uni.showModal(

title: \'温馨提示\',

content: \'输入密码是 = \' + JSON.stringify(this.passwordArr)

)



HTML代码实现部分


<template>

<view class="page">

<view>

<view class="pay-title">

<text v-show="AffirmStatus === 1">请输入6位支付密码</text>

<text v-show="AffirmStatus === 2">请设置6位支付密码</text>

<text v-show="AffirmStatus === 3">请确认6位支付密码</text>

</view>

<view class="pay-password" @click="onPayUp">

<view class="list">

<text v-show="passwordArr.length >= 1">●</text>

</view>

<view class="list">

<text v-show="passwordArr.length >= 2">●</text>

</view>

<view class="list">

<text v-show="passwordArr.length >= 3">●</text>

</view>

<view class="list">

<text v-show="passwordArr.length >= 4">●</text>

</view>

<view class="list">

<text v-show="passwordArr.length >= 5">●</text>

</view>

<view class="list">

<text v-show="passwordArr.length >= 6">●</text>

</view>

</view>

<view class="hint">

<text>忘记支付密码?</text>

</view>

</view>

<!-- ref:唯一ref  passwrdType:密码样式pay keyInfo:密码输入返回事件 -->

<cc-defineKeyboard ref="CodeKeyboard" passwrdType="pay" @KeyInfo="KeyInfo"></cc-defineKeyboard>

</view>

</template>

<script>

export default 

components: 

,

data() 

return 

AffirmStatus: 1,

passwordArr: [],

oldPasswordArr: [],

newPasswordArr: [],

afPasswordArr: [],

;

,

onLoad() 

,

methods: 

/**

* 唤起键盘

*/

onPayUp() 

this.$refs.CodeKeyboard.show();

,

/**

* 支付键盘回调

* @param Object val

*/

KeyInfo(val) 

if (val.index >= 6) 

return;



// 判断是否输入的是删除键

if (val.keyCode === 8) 

// 删除最后一位

this.passwordArr.splice(val.index + 1, 1)



// 判断是否输入的是.

else if (val.keyCode == 190) 

// 输入.无效

 else 

this.passwordArr.push(val.key);



uni.showModal(

title: \'温馨提示\',

content: \'输入密码是 = \' + JSON.stringify(this.passwordArr)

)

// 判断是否等于6

if (this.passwordArr.length === 6) 

this.passwordArr = [];

this.AffirmStatus = this.AffirmStatus + 1;



// 判断到哪一步了

if (this.AffirmStatus === 1) 

this.oldPasswordArr = this.passwordArr;

 else if (this.AffirmStatus === 2) 

this.newPasswordArr = this.passwordArr;

 else if (this.AffirmStatus === 3) 

this.afPasswordArr = this.passwordArr;

 else if (this.AffirmStatus === 4) 

console.log(this.oldPasswordArr.join(\'\'));

console.log(this.newPasswordArr.join(\'\'));

console.log(this.afPasswordArr.join(\'\'));

uni.showToast(

title: \'修改成功\',

icon: \'none\'

)

setTimeout(() => 

uni.navigateBack();

, 2000)



this.$forceUpdate();







</script>

<style scoped lang="scss">

$base: orangered; // 基础颜色

.page 

position: absolute;

left: 0;

top: 0;

width: 100%;

height: 100%;

background-color: #FFFFFF;



.pay-title 

display: flex;

align-items: center;

justify-content: center;

width: 100%;

height: 200rpx;

text 

font-size: 28rpx;

color: #555555;





.pay-password 

display: flex;

align-items: center;

width: 90%;

height: 80rpx;

margin: 20rpx auto;

border: 2rpx solid $base;

.list 

display: flex;

align-items: center;

justify-content: center;

width: 16.666%;

height: 100%;

border-right: 2rpx solid #EEEEEE;

text 

font-size: 32rpx;





.list:nth-child(6) 

border-right: none;





.hint 

display: flex;

align-items: center;

justify-content: center;

width: 100%;

height: 100rpx;

text 

font-size: 28rpx;

color: $base;





</style>

以上是关于前端Vue自定义支付密码输入键盘Keyboard和支付设置输入框Input的主要内容,如果未能解决你的问题,请参考以下文章

vue-自定义pc端软键盘

使用vue实现简单键盘,支持移动端和pc端

微信小程序6位支付密码输入框

Android自定义支付宝输入软键盘

Android自定义支付宝输入软键盘

VueTouchKeyboard——一个模拟键盘