微信小程序 车牌号输入组件

概述

一个小组件,用于方便用户输入车牌号码

详细

概述

有时候我们开发过程中会遇到需要用户输入车牌号的情况,让客户通过自带键盘输入,体验不好且容易出错,例如车牌号是不能输入O和I的,因此需要有一个自定义的键盘,让客户输入正确的车牌号

详细

效果展示

实现思路

1 布局设计

复制代码
    让输入的框弹出,方便输入
    <view wx:for="{{inputList}}" wx:key="*this" 
        class="{{item.type}} {{index === 1 || index === 8 ? 'border_right':''}} {{index === input_active_index ? 'input_active' : ''}}"
        bindtap="tapInput" data-index="{{index}}" data-item="{{item}}">
        {{item.value || ''}}
        </view>
        <view class="backward" bindtap="tapDel">
          <image class="icon_backward" src="/img/backward.svg"/>
        </view>
    css:
    .main {
      background: rgba(0, 0, 0, 0.6);
      height: 100vh;
      z-index: 999;
      position: fixed;
      top: 0px;
      width: 100%;
    }
    .main_panel {
      position: absolute;
      width: 100%;
      bottom: 0px;
    }

2 数据设计

把合法输入的字符,列出来

复制代码
    provinceList: '京沪粤津浙苏湘渝云豫皖陕桂新青琼闽蒙辽宁鲁晋吉翼黑甘鄂赣贵川藏使'.split(''),
        numberList: '0123456789ABCDEFGHJKLMNPQRSTUVWXYZ挂港澳警领学'.split(''),

3 使用组件

复制代码
    在json文件中引用
    {
      "usingComponents": {
        "carnum_input": "/component/carnumber_input/carnumber_input"
      }
    }
    定义好监听车牌输入,输入框关闭的事件,即可获取输入内容
    <carnum_input 
        show="{{showCarnumInput}}" 
        bind:getCarNumber="getCarNumber"
        bind:closeCarNumberInput="closeCarNumberInput"/>

工具类介绍

viewtools.wxs 主要作用是补0,让界面好看些,如果有需要可以在这里改逻辑实现

复制代码
    module.exports = {
      // 把车牌字符串转为数组
      getCarNumberList: function (carNum) {
        var ret = '  •     ';
        if (!carNum || carNum.trim() === '' || carNum === undefined) return ret;
        var supplementNumber = 9 - carNum.trim().length;
        for(var i = 0; i < supplementNumber; i++) {
          carNum+=' '
        }
        ret = carNum;
        return ret;
      }
    }

目录结构

相关推荐
专业程序开发源12 分钟前
springboot生命故事书制作小程序65290-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·mysql·小程序·课程设计
QQ_216962909644 分钟前
基于微信小程序的智能膳食分析系统
java·大数据·spring boot·微信小程序·小程序·旅游
QQ_21696290961 小时前
基于C#(Asp.net)电竞陪玩信息管理系统的设计与实现
java·大数据·spring boot·微信小程序·c#·云计算·asp.net
扶风ff17 小时前
求职笔试资料太散?用练题簿在线刷题,按岗位整理练习清单
前端·学习·小程序
Ai-_Man1 天前
请问豆包的智能体聊天记录该怎么弄
开发语言·前端·javascript·人工智能·小程序·ecmascript·电脑
m0_462803881 天前
名单制签到怎么落地:拆解“仅名单内人员签到“的配置链路与匹配逻辑
微信小程序
Ai-_Man2 天前
您您这可以把Dola的多个会话比如说。左侧的多个会话一次性导出吗?不是单条会话里面的多次会对话。用AI导出鸭,答案是可以的
开发语言·前端·人工智能·小程序
卓怡学长2 天前
w192基于springboot“考研情报站”微信小程序设计与实现
java·spring boot·spring·微信小程序·intellij-idea
2601_949950632 天前
练题簿小程序的 4 个功能,把学习资料变成题库
人工智能·小程序·刷题·练习·小程序推荐
Mingprime2 天前
短时冲刺,孤军奋战,压力山大
小程序