我想通过单击shift键来实现批次选择。我的解决方案是实现keydown和keyup侦听事件。设置一个变量来确定Shift键是否按下。然后循环数据以进行批次选择。
但是我遇到了问题 1.我无法获得正确的isShift值,为什么? 2.如果某列是可排序的,则排序后获取数据将是一个问题。
https://codesandbox.io/s/editable-table-idea-g1pil
有什么建议吗?太棒了!
答案 0 :(得分:0)
我认为您需要更改代码。在方法creaed
事件onKeydown
中,您使用匿名函数,因此this.isShift
不在Vue数据中
created() {
document.onkeydown = function(e) {
var key = window.event.keyCode;
if (key === 16) {
this.isShift = true;
}
};
document.onkeyup = function(e) {
this.isShift = false;
};
},
应该是
created() {
document.onkeydown = this.onKeyDown;
document.onkeyup =this.onKeyUp;
},
methods: {
onKeyDown() {
var key = window.event.keyCode;
if (key === 16) {
this.isShift = true;
}
},
onKeyUp() {
this.isShift = false;
},
}
对不起,我的英语不好