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

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

项目图

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

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

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

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

实现代码如下

HTML代码:

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

js代码:自定义指令

事件

最后完美实现功能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值