博客
关于我
一个车牌输入组件(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/

    你可能感兴趣的文章
    ReentrantLock读写锁
    查看>>
    ReentrantLock的公平锁与非公平锁
    查看>>
    php mysql procedure获取多个结果集
    查看>>
    php mysql query 行数,PHP和MySQL:返回的行数
    查看>>
    php mysql session_php使用MySQL保存session会话
    查看>>
    PHP mysql_real_escape_string() 函数防SQL注入
    查看>>
    php mysql优化方法_MySQL优化常用方法
    查看>>
    PHP OAuth 2.0 Server
    查看>>
    php odbc驱动,php常用ODBC函数集(详细)
    查看>>
    php openssl aes ecb,php openssl_encrypt AES-128-ECB iOS
    查看>>
    php paypal rest api,PayPal REST API指定网络配置文件PHP
    查看>>
    php pcntl 多进程学习
    查看>>
    PHP pcntl_fork不能在web服务器中使用的变通方法
    查看>>
    php private ,public protected三者的区别
    查看>>
    php PSR规范
    查看>>
    php rand() 重复,array_rand()函数从另外一个数组中随机取得的一定数量的数组的元素是否会重复?...
    查看>>
    php redis pub/sub(Publish/Subscribe,发布/订阅的信息系统)之基本使用
    查看>>
    php redis 集群扩展类文件
    查看>>
    php redis(2)
    查看>>
    PHP Redis分布式锁
    查看>>