微信小程序:自定义验证码/密码输入框组件

前言 

微信小程序中,要为用户提供安全密码,用于后续的操作。UI设计稿类似微信的安全密码设置,需要两次输入,验证密码一致。之前刚入坑的时候,就收藏了一些小程序相关的好案例,没有前人铺路,也不会有今天的这篇文章。在此特别鸣谢,NAMECZ的博文(https://blog.csdn.net/namecz/article/details/79892451),文章的思路很巧妙。

正文

项目中多次使用到该模块,因此抽象为一个组件(password-box)来实现。通过对外暴露的属性和方法,达到项目需求。以下附上组件源码,给大家一个参考:

wxml:

<view class="password-box">
  <view class='password-wrapper'>
    <!-- 伪装的input -->
    <block wx:for="{
  {inputLength}}" wx:key="item">
      <!-- 宽高可以由外部指定 -->
      <view class="password-item" style="width: {
  {inputWidth}}; height: {
  {inputHeight}}" catchtap='_focusInput'>
        <!-- 隐藏密码时显示的小圆点【自定义】 -->
        <view wx:if="{
  {!showValue && currentValue.length>=index+1}}" class="hidden"></view>
        <!-- 显示密码时显示对应的值 -->
        <view wx:if="{
  {showValue}}" class="show">{
  {currentValue.length>=index+1?currentValue[index]:''}}</view></view>
    </block>
  </view>
  <!-- 隐藏的输入框 -->
  <input type="number" password="{
  {true}}" value="{
  {currentValue}}" class='hidden-input' maxlength="{
  {inputLength}}" focus="{
  {inputFocus}}" bindinput="_setCurrentValue"></input>
</view>

js: 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值