双击实现编辑表格单元格

双击哪个单元格就编辑哪个单元格,先上效果图,


实现思路:

在单元格下添加一个模板,模板里面有正常状态的span和编辑状态的input框,双击显示input框,input框失去焦点显示span

实现代码:

         

     

数据:

{

          date: "2016-05-03",

          name: "王小虎",

          nameFlag: false,  

          address: "上海市普陀区金沙江路 1518 弄",

        },

涉及到的方法:

// 双击模板里面的div容器,使input框显示

boxClick(row){

        row.nameFlag = true

    },

// input框失去焦点 span显示

inputblur(row) {

        row.nameFlag = false

    },

因为饿了么的input框 有非常好用的v-model双向数据绑定,所以绑定之后修改的就是对象数据,

还有一个注意点:

本来写完后以为大功告成,测了下,发现点击别处的时候,模板里面的input框不消失,就是根本不调用inputblur,想了想,发现是input框出现的时候,没有自动获取焦点的功能。对于这种需要循环的表格来说,如果使用dom操作不太方便,万幸vue有一个自定义指令,这样自动获取焦点会很方便,代码如下:

directives: {

    // 注册一个局部的自定义指令 v-focus

    focus: {

      // 指令的定义

      inserted: function(el) {

        // 聚焦元素

        el.querySelector("input").focus();

      }

    }

  },

你可能感兴趣的:(双击实现编辑表格单元格)