博客
关于我
一个车牌输入组件(vue)
阅读量:386 次
发布时间:2019-03-05

本文共 1900 字,大约阅读时间需要 6 分钟。

基于Vue的简单车牌输入组件实现

功能展示

该车牌输入组件支持多种车牌结构输入,包括省份代码、数字和其他特殊字符。组件采用点击输入的方式,支持字符的逐步输入和删除操作。

代码结构

## 事件处理```javascriptclickInput(type) { this.plateInput.input.type = type; this.plateInput.input.dialogVisible = true;}hiddenKeybord() { this.plateInput.input.dialogVisible = false;}enterWord() { this.plateInput.input.dialogVisible = false;}

方法实现

clickKeyboard(val) {  if (this.plateInput.input.type === 'p2' && parseInt(val) >= 0 && parseInt(val) <= 9) return;  this.methods('clickKeyboard', val);  this.methods('setPlateNumber');  this.methods('setDirectIssuedPlateNumber');}clickDelete() {  this.plateInput.input.value[this.plateInput.input.type] = undefined;  let nu = parseInt(this.plateInput.input.type.split('p')[1]) - 1;  if (nu >= 0) {    this.plateInput.input.value['p' + nu] = undefined;  }  let type = this.plateInput.input.type.split('p')[1];  if (type !== '1') {    this.plateInput.input.type = 'p' + (parseInt(type) - 1);  }}

数据模型

export let model = {  currentPlate: undefined,  plateInput: {    input: {      value: {        p1: '桂',        p2: 'B',        p3: 2,        p4: 2,        p5: 2,        p6: 2,        p7: 2,        p8: 0      },      type: 'p1',      dialogVisible: false    }  },  Keyboard: {    province: ['京', '津', '冀', '晋', '蒙', '辽', '吉', '黑', '沪', '苏', '浙', '皖', '闽', '赣', '鲁', '豫', '鄂', '湘', '粤', '桂', '琼', '渝', '川', '贵', '云', '藏', '陕', '甘', '青', '宁', '新', '台', '港', '澳', '使', '领', '警', '学'],    number: ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'L', 'M', 'N', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '学', '港', '澳']  }}

代码优化建议

  • 去除所有无效的空白div标签
  • 合并重复的样式表
  • 使用更优化的变量命名
  • 增加注释,提升代码可读性
  • 优化键盘事件响应逻辑
  • 增加字符验证功能,避免非法字符输入
  • 转载地址:http://ksgwz.baihongyu.com/

    你可能感兴趣的文章
    NodeJs单元测试之 API性能测试
    查看>>
    nodejs图片转换字节保存
    查看>>
    nodejs在Liunx上的部署生产方式-PM2
    查看>>
    nodejs基于art-template模板引擎生成
    查看>>
    nodejs字符与字节之间的转换
    查看>>
    NodeJs学习笔记001--npm换源
    查看>>
    NodeJs学习笔记002--npm常用命令详解
    查看>>
    nodejs学习笔记一——nodejs安装
    查看>>
    vue3+Element-plus icon图标无法显示的问题(已解决)
    查看>>
    NodeJS实现跨域的方法( 4种 )
    查看>>
    nodejs封装http请求
    查看>>
    nodejs常用组件
    查看>>
    nodejs开发公众号报错 40164,白名单配置找不到,竟然是这个原因
    查看>>
    Nodejs异步回调的处理方法总结
    查看>>
    NodeJS报错 Fatal error: ENOSPC: System limit for number of file watchers reached, watch ‘...path...‘
    查看>>
    nodejs支持ssi实现include shtml页面
    查看>>
    Nodejs教程09:实现一个带接口请求的简单服务器
    查看>>
    nodejs服务端实现post请求
    查看>>
    nodejs框架,原理,组件,核心,跟npm和vue的关系
    查看>>
    Nodejs概览: 思维导图、核心技术、应用场景
    查看>>