在vue 中 使用触屏键盘 可删除指定位置的数据 输入比较简单这里不再啰嗦, 主要是删除
inputDivDel() { // 只能一个一个删除的
const index = this.$refs.codeInput.selectionStart; //input 对象光标的位置
if (index === 0) {
return;
}
let str = this.inputValue; // input 的值
this.inputValue = str.replace(str[index - 1], ""); // 删除该位置的内容并赋值给input
this.$nextTick(() => { // 渲染完毕 再回复光标的位置
this.$refs.codeInput.selectionStart = index - 1;
this.$refs.codeInput.selectionEnd = index - 1;
});
}
inputDivDel() { // 可以按照模块删除的
const start_index = this.$refs.codeInput.selectionStart;
const end_index = this.$refs.codeInput.selectionEnd;
let index;
if (start_index === 0 && end_index === 0) {
return;
}
if ((start_index === end_index)) {
this.inputValue = this.inputValue.replace(this.inputValue[start_index - 1], "");
index = start_index - 1;
} else {
this.inputValue = this.inputValue.substring(0,start_index) + this.inputValue.substring(end_index);
index = start_index;
}
this.$nextTick(() => {
this.$refs.codeInput.selectionStart = index;
this.$refs.codeInput.selectionEnd = index;
});
}