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

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

一个简单的车牌输入组件(vue)

效果图:
在这里插入图片描述
vue代码:

event事件:

export let life = {     created () {       // this.currentPlate = this.plateNumber    // console.log(this.plateNumber)    // this.EnterPlateNumber.input.firstWord = this.plateNumber.slice(0,1)    // this.EnterPlateNumber.input.secondWord = this.plateNumber.slice(1,2)    // this.EnterPlateNumber.input.lastWords = this.plateNumber.slice(2,9)  }}export let event = {     clickInput (type) {       this.methods('clickInput',type)  },  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.methods('clickDelete')    this.methods('setPlateNumber')    this.methods('setDirectIssuedPlateNumber')  },  hiddenKeybord(){       this.methods('hiddenKeybord')  },  enterWord(){       this.methods('enterWord')  }}export let watch = {   }

methods方法:

export default class {     clickInput(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) {       this.plateInput.input.value[this.plateInput.input.type] = val    let type = this.plateInput.input.type.split('p')[1]    if (type !== '8') {         this.plateInput.input.type = 'p' + (parseInt(type) + 1)    }  }  clickDelete () {       this.plateInput.input.value[this.plateInput.input.type] = undefined    let nu = 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)    }  }  setPlateNumber () {       if (this.plateInput.input.plateNumber) {         this.plateNumber1 = this.plateInput.input.plateNumber    }else{         this.plateNumber1 = undefined    }  }  setDirectIssuedPlateNumber () {       if (this.plateInput.input.plateNumber) {         this.plateNumber1 = this.plateInput.input.plateNumber    }else{         this.plateNumber1 = undefined    }  }}

model数据:

export let props = ['name','plateNumber','noRightPart']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', '学', '港', '澳']  },}export let computed = {     plateNumber1 : {       get () {         return this.plateNumber||''    },    set (val) {         this.$emit('update:plateNumber', val)    }  }}

因为这里用了独家的框架,所以根据需要把相应的生命周期函数放到正常的vue项目的位置,把event就写成正常的函数,methods就是i正常的methods里面的方法,model就是data里return的数据

转载地址:http://ksgwz.baihongyu.com/

你可能感兴趣的文章
MySQL: Host '127.0.0.1' is not allowed to connect to this MySQL server
查看>>
Mysql: 对换(替换)两条记录的同一个字段值
查看>>
mysql:Can‘t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock‘解决方法
查看>>
MYSQL:基础——3N范式的表结构设计
查看>>
MYSQL:基础——触发器
查看>>
Mysql:连接报错“closing inbound before receiving peer‘s close_notify”
查看>>
mysqlbinlog报错unknown variable ‘default-character-set=utf8mb4‘
查看>>
mysqldump 参数--lock-tables浅析
查看>>
mysqldump 导出中文乱码
查看>>
mysqldump 导出数据库中每张表的前n条
查看>>
mysqldump: Got error: 1044: Access denied for user ‘xx’@’xx’ to database ‘xx’ when using LOCK TABLES
查看>>
Mysqldump参数大全(参数来源于mysql5.5.19源码)
查看>>
mysqldump备份时忽略某些表
查看>>
mysqldump实现数据备份及灾难恢复
查看>>
mysqldump数据库备份无法进行操作只能查询 --single-transaction
查看>>
mysqldump的一些用法
查看>>
mysqli
查看>>
MySQLIntegrityConstraintViolationException异常处理
查看>>
mysqlreport分析工具详解
查看>>
MySQLSyntaxErrorException: Unknown error 1146和SQLSyntaxErrorException: Unknown error 1146
查看>>