【Uni-App】uniapp使用uview实现弹出键盘输入密码/验证码功能

news2024/12/26 21:01:12

目录

    • (一)效果图
    • (二)使用组件说明
    • keyboard属性:
    • keyboard事件:
    • (五)js代码实现

(一)效果图

在这里插入图片描述

(二)使用组件说明

组件使用的是uview组件,Keyboard 键盘和MessageInput 验证码输入两个组件配合使用。

 <u-keyboard
        closeOnClickOverlay
        :focus="true"
        ref="uKeyboard"
        :tooltip="false"
        :random="true"
        mode="number"
        :dotDisabled="true"
        :show="popupShowPay"
        ="onChange"
        ="onBackspace"
        ="popupShowPay = false"
      >
        <view class="qinshuru">请输入支付密码</view>
        <u-code-input v-model="payPassword" :maxlength="6" dot size="80"></u-code-input>
 </u-keyboard>

keyboard属性:

通过mode参数定义键盘的类型,v-model绑定一个值为布尔值的变量,我绑定的是showKeyboard变量,控制键盘的弹出与收起;
mode = number (默认值)为数字键盘,此时顶部工具条中间的提示文字为"数字键盘"
mode = car 为汽车键盘,此时顶部工具条中间的提示文字为"车牌号键盘"
mode = card 为身份证键盘,此时顶部工具条中间的提示文字为"身份证键盘"

通过tooltip参数配置是否显示显示顶部的工具条,默认为true
通过tips参数修改工具条中间的提示文字
通过show-tips可以控制是否显示工具条中间的文字
通过cancelBtn参数配置是否显示工具条左边的"取消"按钮
通过confirmBtn参数配置是否显示工具条右边的"完成"按钮

通过dot-enabled(默认为true)参数配置,设置是否显示键盘的点(“.”)按键,只在"mode = number"时生效,因为车牌号和身份证键盘,用不到"."这个按键

设置default 属性,内容将会显示键盘的工具条上面,可以结合MessageInput 验证码输入组件实现类似支付宝输入密码时,上方显示输入内容的功能,也就是放在u-keyboard标签内的view和u-message-input标签

keyboard事件:

输入值是通过组件的change事件实现的,组件内部每个按键被点击的时候,组件就会发出一个change事件,回调参数为点击的按键的值。

通过backspace事件监听键盘退格键的点击,通过修改父组件的值实现退格的效果,见下方示例
注意:点击退格键(也即删除键)不会触发change事件

(五)js代码实现

数据:

data() {
		return {
			 popupShowPay: false,
			payPassword: ''//输入的密码
		}
	},

事件:
按钮点击显示:

async save() {
      const params = {
        price: this.price,
        blindBoxId: this.blindboxId,
        payPassword: this.payPassword,
      }
      const res = await this.$http.sales.upBlindbox(params)

      this.$refs.upDialogRef.isShowDialog = false
      this.popupShowPay = false
      this.getProductDetail()
    },
 confirmUpDown() {
      this.popupShowPay = true
      this.payPassword = ''
      this.$refs.upDialogRef.isShowDialog = false
      // return
    },
    onBackspace(e) {
      if (this.payPassword.length > 0) {
        this.payPassword = this.payPassword.substring(0, this.payPassword.length - 1)
      }
    },
    onChange(val) {
      if (this.payPassword.length < 6) {
        this.payPassword += val
      }

      if (this.payPassword.length >= 6) {
        this.finish() //封装的结束函数,后续还有请求接口和判断
      }
    },
    finish() {
      this.showKeyboard = false
      //可以放请求的接口及付款后的判断等
      this.save()
    },

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/83368.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MATLB|多微电网及分布式能源交易

目录 一、概述 二、数学模型 三、结果可视化 四、Matlab代码实现 一、概述 在人类、工业和电动汽车的能源需求的推动下&#xff0c;全球能源需求预计将在未来几年稳步增长&#xff1b;更准确地说&#xff0c;预计到 2030 年增长将达到 40%。这种需求是由人类日益依赖能源的…

Linux配置网络,增添网络会话,Wget下载,yum仓库配置

配置网络 从RHEL7开始引入了一种新的“一致网络设备命名”的方式为网络接口命名&#xff0c;该方式可以根据固件、设备 拓扑、设备类型和位置信息分配固定的名字。网络接口的名称的前两个字符为网络类型符号。如: en——表示以太网(Ethernet)、wl表示无线局域网(wlan)、ww表示无…

[附源码]Python计算机毕业设计SSM基于的高校在线办公系统(程序+LW)

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

【玩转ChatGPT |OpenAI超级对话模型】手把手带你玩转ChatGPT

个人名片&#xff1a; &#x1f43c;作者简介&#xff1a;一名大二在校生&#xff0c;喜欢编程&#x1f38b; &#x1f43b;‍❄️个人主页&#x1f947;&#xff1a;小新爱学习. &#x1f43c;个人WeChat&#xff1a;hmmwx53 &#x1f54a;️系列专栏&#xff1a;&#x1f5bc…

【深度学习】PyTorch深度学习实践 - Lecture_10_Basic_CNN

文章目录一、CNN基础流程图二、CNN的两个阶段三、卷积的基本知识3.1 单信道的卷积3.2 三信道的卷积3.3 N信道卷积3.4 输入N信道-输出M信道卷积3.5 卷积层的常见参数3.5.1 Padding3.5.2 Stride3.5.3 下采样&#xff08;MaxPooling&#xff09;四、实现一个简单的CNN4.1 网络结构…

【案例教程】气象数值预报WRF-DA资料同化系统理论、运行与变分、混合同化新方法技术

【视频教程】WRF DA资料同化系统理论、运行与与变分、混合同化新方法技术应用https://mp.weixin.qq.com/s?__bizMzAxNzcxMzc5MQ&mid2247518760&idx1&snddbc45296acc595402434b88bc179a27&chksm9be39538ac941c2eabab2492e997827d0e1269de3b229fadee72f1223bbcd…

机器学习实战教程(三):决策树实战篇

一、前言 上篇文章机器学习实战教程&#xff08;二&#xff09;&#xff1a;决策树基础篇之让我们从相亲说起机器学习实战教程&#xff08;二&#xff09;&#xff1a;决策树基础篇_M_Q_T的博客-CSDN博客机器学习实战教程&#xff08;二&#xff09;&#xff1a;决策树基础篇之…

web前端期末大作业 html+css+javascript汽车销售网站 学生网页设计实例 企业网站制作

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

JQuery高级(回调函数 clearInterval 插件)

回调函数&#xff1a; 定义&#xff1a;回调函数被认为是一种高级函数&#xff0c;一种被作为参数传递给另一个函数的高级函数。回调函数的本质是一种模式(一种解决常见问题的模式)&#xff0c;因此回调函数也被称为回调模式。 简而言之&#xff1a;一个函数在另一个函数中…

Vue3+Vite项目按需自动导入配置及常见问题修复

文章目录一、Vue API自动导入1.1 配置unplugin-auto-import1.2 可能遇到ts,eslint不识别而导入报错的问题1.3 配置src/component目录下的组件自动引入二、按需引入UI组件库&#xff08;antd,element-plus&#xff09;2.1、按需引入element-plus2.2 ant-design-vue 按需引入2.3 …

Qt多线程调用gdal库接口

作者:朱金灿 来源:clever101的专栏 为什么大多数人学不会人工智能编程?>>> 效果图和程序说明 效果图如下: 这个程序是Qt的GUI程序,用于给指定的图像文件创建金字塔。 为什么要使用多线程 使用多线程的好处主要有两点: 1.多线程在很多时候显得更人性化些。比…

计算机研究生就业方向之去大厂做售前

我一直跟学生们说你考计算机的研究生之前一定要想好你想干什么&#xff0c;如果你只是转码&#xff0c;那么你不一定要考研&#xff0c;至少以下几个职位研究生是没有啥优势的&#xff1a; 1&#xff0c;软件测试工程师&#xff08;培训一下就行&#xff09; 2&#xff0c;前…

【Docker】如何用Docker安装Tomcat

专栏精选文章 《Docker是什么&#xff1f;Docker从介绍到Linux安装图文详细教程》《30条Docker常用命令图文举例总结》《Docker如何构建自己的镜像&#xff1f;从镜像构建到推送远程镜像仓库图文教程》《Docker多个容器和宿主机之间如何进行数据同步和数据共享&#xff1f;容器…

关于linux下的xinetd服务

我们在网络通信时候用到socket套接字&#xff0c;有的时候我们更希望Linux能使用http协议等于前端有一定的交互&#xff0c;那么xinetd服务无疑是Linux下一种很好的方法。 什么是xinetd呢&#xff1f;xinetd是新一代的网络守护进程服务程序&#xff0c;又叫超级Internet服务器,…

[附源码]Python计算机毕业设计SSM基于的婚恋系统(程序+LW)

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

ERStudio操作指南

ERStudio操作指南一、创建逻辑模型二、生成SQL脚本本文使用的ER/Studio版本&#xff1a;ER/Studio Version 8.0.2 一、创建逻辑模型 1、打开ER/Studio后&#xff0c;选择&#xff1a;File>New&#xff0c;打开如下界面&#xff0c;选择Draw a new data model。 如上图&am…

接口调用、客户端lb、嵌套JSON解析、慎用 foreach、新建类封装

文章目录接口调用出错推荐客户端负载均衡多层JSON嵌套大数据量 插入慎用foreach使用Api时新建一个类封装、方便维护接口调用出错 故障转移&#xff1a;重试选择其他可用节点&#xff0c;做好幂等性可用&#xff01;&#xff01;&#xff01;快速失败 推荐客户端负载均衡 服务…

如何在 Java 中调用 MATLAB 代码

文章目录测评完整源代码运行环境&#xff1a; MATLAB R2022a Java 8&#xff08;1.8.0_311&#xff09; IntelliJ IDEA 2022.2.1 (Ultimate Edition) Maven 3.8.3 Windows 10 教育版 64位 使用混合编程通常都不是好主意&#xff0c;但是有时候会遇到极端的情况。Java 擅长…

git与github安装与配置

git与github安装与配置 最近总是害怕电脑和实验代码突然出事&#xff0c;想了想&#xff0c;拖了很久的git给搞好&#xff0c;所以花了几个小时&#xff0c;从入门到搭建好&#xff0c;这篇文章与其他文章来说&#xff0c;总体上是大同小异&#xff0c;算是前人的一个总结&…

【python基于mysql数据库实现无页面学生信息管理系统】

python基于mysql数据库实现无页面学生信息管理系统以及简单操作mysql前言一、分步讲解0.创建两张数据表1.大概思路2.首先连接数据库3.查看所有学生成绩信息4.查看所有学生个人信息5.查看指定学生成绩信息6.添加学生个人信息7.添加学生成绩信息8.修改学生个人信息9.修改学生成绩…