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

这篇具有很好参考价值的文章主要介绍了【Uni-App】uniapp使用uview实现弹出键盘输入密码/验证码功能。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

(一)效果图

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

(二)使用组件说明

组件使用的是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: ''//输入的密码
		}
	},

事件:
按钮点击显示:文章来源地址https://www.toymoban.com/news/detail-414987.html

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()
    },

到了这里,关于【Uni-App】uniapp使用uview实现弹出键盘输入密码/验证码功能的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于uniapp+vite4+vue3搭建跨端项目|uni-app+uview-plus模板

    最近得空学习了下uniapp结合vue3搭建跨端项目。之前也有使用uniapp开发过几款聊天/仿抖音/后台管理等项目,但都是基于vue2开发。随着vite.js破局出圈,越来越多的项目偏向于vue3开发,就想着uniapp搭配vite4.x构建项目效果会如何?经过一番尝试果然真香~ uniapp官网提供了  HBuild

    2024年02月09日
    浏览(87)
  • (小程序)基于uniapp+vite4+vue3搭建跨端项目|uni-app+uview-plus模板

    版本信息: 点击编辑器的文件 新建 项目(快捷键Ctrl+N) 2.选择uni-app项目,输入项目名/路径,选择项目模板,勾选vue3版本,点击创建,即可成功创建。 3.点击编辑器的运行 运行到浏览器 选择浏览器 当然也可以运行到手机或模拟器、运行到小程序工具。 到这里一个简单的

    2024年02月16日
    浏览(101)
  • 使用uni-app+uview创建小程序工程并支持请求后端接口

    一、使用工具:     1.hubilderx   下载地址:HBuilderX-高效极客技巧     2.微信开发者工具   下载地址:微信开发者工具下载地址与更新日志 | 微信开放文档     3.uview组件库API:Color 色彩 | uView 2.0 - 全面兼容nvue的uni-app生态框架 - uni-app UI框架 二、使用hubuilderx创建uni-app项目

    2024年02月11日
    浏览(62)
  • 使用vue2开发uni-app项目--引入uview-ui

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一、安装 1、安装uview-ui 2、安装scss支持 二、配置 1、在main.js中引入uView库 2、uni.scss文件中引入uView的全局SCSS主题文件  3、在APP.vue文件中引入uView基础样式 4、在pages.json中 配置easycom组件模式

    2024年02月04日
    浏览(66)
  • uni-app 中使用uview生成测试小程序后报错:pleaseSetTranspileDependencies is not defined

    这是一篇踩坑文,记录一个uni-app中的坑点。 在uni-app 中使用uview后在生成小程序后第一次编译时控制台报了这么一个错: 在检查了许久的原因后最后找到的解决办法是: 在文件 /common/vendor.js 中搜索并删除下面这句话 如上图。 删除掉之后重新编译一下项目就正常运行了。

    2024年02月12日
    浏览(71)
  • 【Uni-App】用 uView 组件库中的u-picker 实现地区的 省-市-区 三级联动&确认&回显

    组件的引入就不多赘述了 直接看使用方法 地址我是引入的json文件数据结构大概是这个样子 例1 例2 做个动态style,控制是否高亮地址 链接:https://pan.baidu.com/s/1_heSAGHJnTe-343fRmbOPA 提取码:hmky 如果失效了 ,可以联系我获取

    2024年02月14日
    浏览(49)
  • 【uni-app项目如何引入 uView组件库】

    uView官方文档 第一步: 在公司创建完成uniapp项目后引入uView 第二步: 您如果是使用HBuilder X创建的uniapp项目,使用uView组件库的话需要在HBuilder X下载插件库 下载 uni_modules ,(如果这个看不懂可以看官方文档) (1) HBuilder X插件库中下载 uni_modules 现在是已经将 uView导入到项目中了

    2024年02月05日
    浏览(59)
  • uni-app uView自定义底部导航栏

    因项目需要自定义底部导航栏,我把它写在了组件里,基于uView2框架写的(vue2);   在components下创建tabbar.vue文件,代码如下:  app.vue (有没有大佬知道为什么这个样式加载app.vue里才生效)  pages.json配置 页面使用: ( mine.vue ) 注: current是底部导航栏的下标,你在tabb

    2024年02月14日
    浏览(83)
  • 【uni-app】安装uView-ui组件步骤

    uView是uni-app生态专用的UI框架,uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码, 可发布到iOS、Android、H5、以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉)等多个平台(引言自uni-app网)。但目前除微信小程序,其它小程序平台的兼容可能存在一些问题,后

    2024年02月14日
    浏览(45)
  • uni-app 之 安装uView,安装scss/sass编译

    uni-app 之 安装uView,安装scss/sass编译 image.png image.png image.png 点击HBuilder X 顶部,工具,插件安装,安装新插件 image.png image.png 安装成功! 注意,一定要先登录才可以安装 image.png 1. 引入uView主JS库 在项目根目录中的 main.js 中,引入并使用uView的JS库,注意这两行要放在 import Vu

    2024年02月10日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包