APICloud AVM框架封装验证码输入框组件

简介: APICloud AVM框架封装验证码输入框组件实例。验证码输入框组件,可自定义下次点击等待时长,自定义验证码长度,可根据自定义的验证码长度进行输入内容的验证。

APICloud AVM框架封装验证码输入框组件实例。

验证码输入框组件,可自定义下次点击等待时长,自定义验证码长度,可根据自定义的验证码长度进行输入内容的验证。

组件引用

import '../../components/verification-code-input.stml'

组件使用

组件文件

verification-code-input.stml

获取验证码

{count}s

export default {

name: 'verification-code-input',

installed(){

},

props:{

limitSecond:Number,

limitCode:Number

},

data() {

return{

show:true,

count: 0,

timer:null

}

},

methods: {

sendCode(){

//正则验证手机号码

const TIME_COUNT = this.props.limitSecond;

if (!this.data.timer) {

this.data.count = TIME_COUNT;

this.data.show = false;

this.data.timer = setInterval(() => {

if (this.data.count > 0 && this.data.count <= TIME_COUNT) {

this.data.count--;

} else {

this.data.show = true;

clearInterval(this.data.timer);

this.data.timer = null;

}

}, 1000)

}

/**

  • 进行发送短信验证码的操作

*/

},

getCode(e){

//对验证码进行校验 符合位置和规则进行输出

if(e.detail.value.length == this.props.limitCode){

let reg= /^[0-9]*$/;

if(reg.test(e.detail.value)){

this.fire('setCode',e.detail.value);

}

else{

api.toast({

msg:'请输入有效的验证码!'

})

}

}

else if(e.detail.value.length > this.props.limitCode){

api.toast({

msg:'请输入'+this.props.limitCode+"位验证码!"

})

}

}

}

}

.verification-code{

flex-flow: row nowrap;

margin: 10px 20px;

justify-content: space-between;

border-bottom: 0.5px solid #f0f0f0;

align-items: center;

}

.code-input{

width: auto;

border: none;

font-size: 18px;

}

.code-btn{

color: #1492ff;

font-size: 18px;

}

组件使用示例

import '../../components/verification-code-input.stml'

export default {

name: 'demo-verification-code-input',

apiready(){

},

data() {

return{

code:'',

seconds:60,

codeLen:4

}

},

methods: {

getCode(e){

console.log(JSON.stringify(e.detail));

this.data.code = e.detail;

}

}

}

.page {

height: 100%;

background-color: #ffffff;

padding-top: 100px;

}

.verification-code{

flex-flow: row nowrap;

margin: 10px 20px;

justify-content: space-between;

border-bottom: 0.5px solid #f0f0f0;

align-items: center;

}

.code-input{

width: auto;

border: none;

font-size: 15px;

flex: 1;

}

.code-btn{

color: #1492ff;

font-size: 15px;

}

目录
相关文章
|
15天前
|
JavaScript 前端开发 API
使用ArkUI封装表单
本文介绍了如何使用华为鸿蒙系统的声明式UI框架ArkUI封装表单。主要内容包括创建自定义组件、实现验证逻辑、在父组件中使用自定义表单组件,以及样式和布局的设置。通过这些步骤,可以提高代码的可复用性和模块化程度,使表单构建更加高效和易于维护。
80 3
|
1月前
|
存储 移动开发 小程序
uniapp富文本editor输入二次扩展兼容微信小程序
uniapp富文本editor输入二次扩展兼容微信小程序
61 0
|
1月前
鸿蒙ArkUI封装的复选组件
本文介绍了如何对鸿蒙系统中的官方复选组件进行封装,以解决多选项列表复用不便的问题,实现点击标签文本选择功能,选中状态通过图片区分显示和隐藏。
31 0
|
1月前
|
数据可视化
鸿蒙ArkUI封装的单选组件
鸿蒙ArkUI封装的单选组件
49 0
|
4月前
|
JavaScript
vue + element UI【实战】音乐播放器/语音条(内含音频的加载、控制,事件监听,信息获取,手机网页阴影的去除等技巧)
vue + element UI【实战】音乐播放器/语音条(内含音频的加载、控制,事件监听,信息获取,手机网页阴影的去除等技巧)
74 1
|
6月前
|
移动开发 API
uniapp中uview组件丰富的Code 验证码输入框的使用方法
uniapp中uview组件丰富的Code 验证码输入框的使用方法
380 0
|
Java Maven Android开发
Android组件化开发(五)--完整版音乐播放组件的封装
前面几篇系列文章我们讲解了`组件化开发`中几个常用功能组件的开发,包括:`网络请求组件`,`图片加载请求组件`,`应用保活组件`。今天我们来封装一个`音乐播放组件`。
|
小程序 前端开发 API
【uniapp小程序开发】—— 组件封装之【自定义轮播图】
【uniapp小程序开发】—— 组件封装之【自定义轮播图】
375 0
【uniapp小程序开发】—— 组件封装之【自定义轮播图】
|
小程序 前端开发 JavaScript
【小程序开发】—— 封装自定义弹窗组件
【小程序开发】—— 封装自定义弹窗组件
196 0
【小程序开发】—— 封装自定义弹窗组件
|
前端开发
前端工作总结149-封装一个带有对话框的button组件
前端工作总结149-封装一个带有对话框的button组件
88 0