vxe-table 如何用回车键替换 Tab 键功能,回车切换到右侧单元格,回车切换下一个单元格

vxe-table 如何用回车键替换 Tab 键功能,回车切换到右侧单元格,回车切换下一个单元格

默认的快捷键功能是 Tab 键用于切换左右单元格,回车键用于切换到下面的单元格,
由于在实际的项目需求中,需要用到特殊需求,比如回车键切换向右单元格,这样就可以编辑完一个接着编辑下一个,
一般的处理方式可以通过监听 keyup 事件去实现,方式比较繁琐的。

不过看到一个 vxe-table-plugin-shortcut-key 快捷键插件,可以自定义键值

npm install xe-utils vxe-table vxe-table-plugin-shortcut-key
import Vue from 'vue'
import 'xe-utils'
import VXETable from 'vxe-table'
import 'vxe-table/lib/index.css'
import VXETablePluginShortcutKey from 'vxe-table-plugin-shortcut-key'

 Vue.use(VXETable)
 VXETable.use(VXETablePluginShortcutKey, {
  setting: {
    'table.edit.leftTabMove': 'Shift + Enter',
    'table.edit.rightTabMove': 'Enter', // 将 Tab 键的按键值修改为回车键
 })
    <vxe-table
      border
      resizable
      show-overflow
      :data="tableData"
      :edit-config="{trigger: 'click', mode: 'row'}">
      <vxe-table-column type="seq" width="60">vxe-table-column>
      <vxe-table-column field="name" title="Name" :edit-render="{name: 'input'}">vxe-table-column>
      <vxe-table-column field="role" title="Role" :edit-render="{name: 'input'}">vxe-table-column>
      <vxe-table-column field="sex2" title="Sex" :edit-render="{name: 'select', options: sexList}">vxe-table-column>
      <vxe-table-column field="date13" title="Date" :edit-render="{name: 'input', attrs: {type: 'date'}}">vxe-table-column>
      <vxe-table-column field="address" title="Address" :edit-render="{name: 'input'}">vxe-table-column>
    vxe-table>
export default {
  data() {
    return {
      tableData: [],
      sexList: [
        { spell: '', value: '' },
        { spell: '女', value: '0' },
        { spell: '男', value: '1' }
      ]
    }
  },
  created () {
    var list = []
    for(var index = 0; index < 5; index++){
      list.push({
        id: index + 10000,
        name: 'test' + index,
        role: 'developer',
        sex2: '1',
        date13: '2019-05-01',
        address: 'address abc' + index
      })
    }
    this.tableData = list
  }
}

现在就可以通过回车键移动到右侧单元格了,完美!!

在线运行 http://jsrun.pro/bdfKp/edit

你可能感兴趣的:(vue)