項目中引入element的input框組件,觸發事件必需要加上.nativebash
<el-input placeholder="請輸入" type="textarea" v-model="valueText" @keyup.native="keyUp(valueText,$event)" @keydown.native="keyDown($event)" @input="input">
</el-input>
複製代碼
keyDown(event:any){
//ctrl複製粘貼事件(true|false)
this.isCtrl = event.ctrlKey
console.log('keyDown:',this.isCtrl)
}
input(value:any){
let newStr='';
this.valueCtrl = ''
let str = value.substring(value.length-1,value.length);
this.valueyArr.push(str);
for (let i = 0; i < this.valueyArr.length; i++) {
newStr+= this.valueyArr[i]
}
this.valueShow = newStr // 輸入的明文
if(value.length<this.appPrivateKeyShow.length){
//退格刪除
this.appPrivateKeyArr = this.appPrivateKeyArr.slice(0,value.length)
this.appPrivateKeyShow = this.appPrivateKeyShow.substring(0,value.length)
}
console.log('input:',this.valueShow)
}
keyUp(value:any,event:any){
if(this.isCtrl&&!this.valueCtrl){
this.valueCtrl = value // 粘貼的明文
this.valueShow = ''
}
this.valueText = value.replace(/./g, '.'); // 替換成密文點點
console.log('keyUp:',this.valueCtrl)
}
複製代碼
純手動輸入: app