美文网首页
element 可编辑表格方向键操控

element 可编辑表格方向键操控

作者: 林万程 | 来源:发表于2020-05-22 17:54 被阅读0次

饿了么框架做可编辑表格时想优化体验做个方向键操控,
网上搜到的代码不太满意,自己写了个

/**
 * 键盘移动工具类,使用方法如下
 * <pre>
 * <template slot-scope="scope">
 *    <el-input v-model="scope.row.valuesScore"
 *      v-bind:ref="'r'+ scope.$index + 'c' + 1"
 *      @keydown.native="keyup($event, scope.$index, 1)"></el-input>
 * </template>
 *
 * import {tableKeyMove} from "../util/tableKeyMove"
 *
 * keyup(ev, row, col) {
 *   tableKeyMove(this, ev, row, col, this.tableData.length, 6)
 * },
 * </pre>
 */
export function tableKeyMove(_this, ev, row, col, rowCount, colCount) {
  // 替代 switch 的优雅写法
  const actions = {
    'ArrowUp': () => {
      row--
      if (row < 0) row = rowCount - 1
    },
    'ArrowDown': () => {
      row++
      if (row >= rowCount) row = 0;
    },
    'ArrowLeft': () => {
      if (ev.target.selectionEnd !== 0) {
        return
      }
      col--
      if (col < 1) col = colCount;
    },
    'ArrowRight': () => {
      if (ev.target.selectionEnd !== ev.target.value.length) {
        return
      }
      col++;
      if (col > colCount) col = 1
    },
    'Enter': () => {
      col++
      if (col > colCount) {
        // 右下角的话保持不动
        if (row === (rowCount - 1)) {
          col = colCount
        } else {
          col = 1
          row++
        }
      }
    },
  }
  let action = actions[ev.key];
  if (action !== undefined) {
    action.call()
    // 用 nextTick 避免 input 还没渲染出来
    _this.$nextTick(() => {
      _this.$refs['r' + row + 'c' + col].focus()
    })
  }
}

相关文章

  • element 可编辑表格方向键操控

    饿了么框架做可编辑表格时想优化体验做个方向键操控,网上搜到的代码不太满意,自己写了个

  • Element ui可编辑表格

    可直接引用哦

  • 快捷键

    (1)J、K、L 分别代表后退、暂停、播放,可倍速播放 (2)前后方向键可以前后调整,加上shift可提速

  • 贪食蛇的游戏

    经历过功能机时代的小伙伴应该都对诺基亚的一款经典手机游戏《贪食蛇》印象深刻: 玩家使用方向键操控一条长长的蛇不断吞...

  • 零基础学Axure8-表格的运用

    知识点: 1.编辑表格:添加/删除行、列; 2.编辑表格的样式:字体样式,背景,边距,行距; 3.在excel表中...

  • linux命令行学习(44):vi常用快捷键

    1 L或右方向键 右移一位 2 H或左方向键 左移一位 3 J或下方向键 下移一行 4 K或上方向键 上移一行 5...

  • element Transfer穿梭框shift多选checkb

    element 穿梭框按住shift可实现checkbox多选功能

  • Antd Table 实现可编辑表格 ,含高级自定义用法

    后台管理系统非常很多用到可编辑表格,做完这个版本的项目,有许多收获,其中一项就是可编辑表格,表格行内编辑、新增、删...

  • Safari 快捷键

    上下方向键 小范围的垂直滚动页面左右方向键 小范围的水平滚动页面Option + 方向键 整屏的滚动页面Cmd +...

  • 编辑表格

    马甲包序列表 序列号名称1小学英语外教2天才少儿英语3英语口语秀4魔力少儿英语551学英语6学霸英语7职场英语口语...

网友评论

      本文标题:element 可编辑表格方向键操控

      本文链接:https://www.haomeiwen.com/subject/autcahtx.html