美文网首页vue前端开发程序员
vue 点击编辑按钮 显示input输入框同时获取焦点

vue 点击编辑按钮 显示input输入框同时获取焦点

作者: 抬头仰望淡蓝色天空 | 来源:发表于2018-11-15 17:04 被阅读0次

    最近在做一个使用element-ui组件库搭建的后台系统的项目,遇到一个需求是:在table列表里面点击编辑,可以实现编辑内容的需求大概就是下面图的样子:

    项目图

    然后就是点击编辑按钮可以实现编辑table表里面的内容。实现过程都很顺利,然后发现点击编辑变成input输入框后获取不到焦点。

    然后尝试使用原生属性autofocus,但是这个属性 只在模板加载完成时起作用,也就是说只有第一次有用。

    然后尝试了ref,再this.$refs.el 也不能成功拿到该元素,因为饿了么组件封装的<el-input>对应的是外面一个div,里面包了个input,在获取元素的时候有问题的。然后决定使用原生的input标签代替element-ui里面的el-input组件。

    然后然后查看vue文档决定用,diretives 自定义指令,完美实现需求。

    实现代码如下

    HTML代码:

    特别注意:再编辑内容和输入框的切换时要使用v-show进行切换,自定义一个focusState值

    js代码:

    自定义指令

    事件

    最后完美实现功能

    相关文章

      网友评论

        本文标题:vue 点击编辑按钮 显示input输入框同时获取焦点

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