当前位置:   article > 正文

vue table 监听键盘上下键_el-table 监听键盘方向按键

el-table 监听键盘方向按键
  1. columnsName: [
  2. {
  3. title: '姓名',
  4. key: 'name',
  5. align: 'center',
  6. sortable: true,
  7. width: 150,
  8. render: (h, params) => {
  9. return h('Input', {
  10. props: {
  11. value: params.row.name
  12. },
  13. // 每个输入框按照行列规则定义id
  14. attrs: { id: params.column.key + params.index },
  15. nativeOn: {
  16. keydown: (event) => {
  17. this.handleKeyup(event, params)
  18. }
  19. }
  20. })
  21. }
  22. }
  23. }

method

  1. handleKeyup (event, params) {
  2. //
  3. if (event.keyCode === 37 && params.column._index !== 0) {
  4. setTimeout(() => {
  5. // 找到该输入框左边位置的id
  6. let id = this.columnsName[params.column._index - 1].key + params.index
  7. document.getElementById(id).children[1].focus()
  8. }, 50)
  9. }
  10. // 上键切换
  11. if (event.keyCode === 38 && params.index !== 0) {
  12. setTimeout(() => {
  13. let id = params.column.key + (params.index - 1)
  14. document.getElementById(id).children[1].focus()
  15. }, 50)
  16. }
  17. //
  18. if (event.keyCode === 39 && params.column._index !== this.columnsName.length - 2) {
  19. setTimeout(() => {
  20. let id = this.columnsName[params.column._index + 1].key + params.index
  21. document.getElementById(id).children[1].focus()
  22. }, 50)
  23. }
  24. //
  25. if (event.keyCode === 40 && params.index !== this.list.length - 1) {
  26. setTimeout(() => {
  27. let id = params.column.key + (params.index + 1)
  28. document.getElementById(id).children[1].focus()
  29. }, 50)
  30. }
  31. },

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/114534
推荐阅读
相关标签
  

闽ICP备14008679号