官方自带的回车跳下一个单元格无法控制下一个单元格能不能跳不是很实用。就自己翻源码找到了比较好用的方法。
1.vxe-table添加::keyboard-config="{isArrow: true, isDel: false, isEnter: true, isTab: true, isEdit: true}" 属性开启回车跳单元格
2.添加自定义表格回车事件,关键代码://moveSelected: function moveSelected(args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow, evnt) 控制选中单元格的函数。有了这个函数我们就不用再去写一套回车触发选中单元格,到边界换行判断等等。
VXETable.interceptor.add('event.keydown',({ $table,$event })=>{
let editStore = $table.editStore
let selected = editStore.selected,
actived = editStore.actived,that = this;
let targetArgs = selected.row ? selected.args : actived.args;
const { row,column,rowIndex } = targetArgs;
var keyCode = $event.keyCode;
var isUpArrow = keyCode === 38;
var isRightArrow = keyCode === 39;
var isDwArrow = keyCode === 40;
//moveSelected: function moveSelected(args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow, evnt)
this.$nextTick(()=>{
$table.moveSelected({row,column}, false, isUpArrow, false, isDwArrow, $event);
})
});