el-table 实现单元格内编辑功能

el-table 实现单元格内编辑功能

功能

双击单元格出现编辑框,编辑框失去焦点后保存内容。


gif.gif

原理

  1. 通过v-if控制编辑框与显示值显示和隐藏。
  2. 通过el-table 组件·的cell-dblclick事件,得到row、column的数据,并且显示编辑框,隐藏显示值。
  3. 通过el-input组件的blur隐藏编辑框。

步骤

1.显示编辑框,聚焦编辑框

显示编辑框

column.property是当前的templateel-table-column所填写的property

row[column.property + "isShow"] = true

table数据改动时,给tablekey值一个随机数,刷新table

this.randomKey = Math.random()

编辑框聚焦

this.$nextTick是为了确保ref存在后执行下列代码

this.$nextTick(() => {
  this.$refs[column.property] && this.$refs[column.property].focus()
})
2.编辑框失去焦点,隐藏编辑框
row[column.property + "isShow"] = false

完整代码




你可能感兴趣的:(el-table 实现单元格内编辑功能)