实现效果如下:


通过 v-if 的 boolean值来动态变化是否显示文本框还是 button 按钮。通过 v-model 双向绑定来实现文本框内容的监听。

由于每一行需要设置文本框的显示与隐藏,而且数据是共享的。我们需要通过 scope来获取每一行的值来进行绑定,不然的话,就会导致某个文本框显示了,其它文本框也跟着显示,并且数据是共用的,都会同步变化。而设置 scope后,我们就能实现对一行数据进行更新渲染了。

为了实现当我们点击按钮后,让本文看自动获取焦点。

通过 this.$refs.saveTagInput.$refs.input.focus() 来获取 input 的 dom 对象,接着调用 focus函数来获取焦点。

$nextTick 作用是当页面元素被重新渲染之后才会执行回调函数中的代码。如果不这样做的话,我们直接通过点击按钮的形式,将该行的 inputVisible 设置为了 true,那么此时直接调用 this.$refs.saveTagInput.$refs.input.focus() 是没办法获取焦点的,此时就会报错。因为我们的 dom节点还没有进行渲染,而先调用 $nextTick 就是为了等待 dom节点渲染之后,我们再获取 input,然后再调用 focus 函数来获取焦点。

前端学习(2692):重读vue电商网站13之使用动态编辑标签相关推荐

  1. 前端学习(2741):重读vue电商网站51之首页内容定制

    不同的打包环境下,首页内容可能会有所不同.我们可以通过插件的方式进行定制,插件配置如下: Javascript chainWebpack: config => {config.when(proc ...

  2. 前端学习(2732):重读vue电商网站42之添加富文本编辑器

    vue-quill-editor 官方文档传送门 通过 vue-ui 界面,可以安装我们所需要的依赖,或者使用下文 npm 或 yarn安装. NPM Js npm install vue-quill ...

  3. 前端学习(2743):重读vue电商网站53之项目上线

    通过 node 创建 web 服务器. 开启 gzip 配置. 配置 https 服务. 使用 pm2 管理应用. 通过 node 创建 web 服务器 创建 node 项目,并安装 express, ...

  4. 前端学习(2742):重读vue电商网站52之路由懒加载

    当打包构建项目时,JavaScript 包会变得非常大,影响页面加载.如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件,这样就更加高效了. 具体需要 3 步: 安 ...

  5. 前端学习(2739):重读vue电商网站49之第三方库使用CDN

    通过 externals 加载外部 CDN 资源 默认情况下,通过 import 语法导入的第三方依赖包,最终会被打包合并到同一个文件中,从而导致打包成功后,单文件体积过大的问题. 例如上述 chun ...

  6. 前端学习(2737):重读vue电商网站47之生成打包报告

    打包时,为了直观地发现项目中存在的问题,可以在打包时生成报告.生成报告的方式有两种: ① 通过命令行参数的形式生成报告 Javascript // 通过 vue-cli 的命令选项可以生成打包报告 / ...

  7. 前端学习(2736):重读vue电商网站46之执行build 时报错

    Error: No module factory available for dependency type: CssDependency 解决办法: 参考:解决webpack打包报错 No modu ...

  8. 前端学习(2735):重读vue电商网站45之项目优化上线

    优化Vue项目,部署Vue项目 项目优化 添加进度条 nprogress 进度条官方文档传送门 打开 vue-ui 面板,选择依赖,输入 nprogress 进行安装相关依赖. npm Javascr ...

  9. 前端学习(2731):重读vue电商网站41之自定义格式化时间的全局过滤器

    在 main.js 入口文件全局注册格式化时间的过滤器,代码如下所示: Javascript // 自定义格式化时间的全局过滤器 Vue.filter('dataFormat', function(o ...

最新文章

  1. ICCV2021论文全汇总!附下载链接
  2. Xamarin Essentials教程发送邮件Email
  3. CodeForces - 1236B Alice and the List of Presents(组合数学+快速幂)
  4. 文件流下载 ASP.NET
  5. python免杀技术---复现+改进----1
  6. hdu 6015 Gameia(树上博弈)
  7. 多维度积分管理系统java_Java毕业设计——超市积分管理系统项目设计
  8. 面试题之SpringMVC整体工作流程
  9. Hibernate入门案例
  10. 教你如何安装字体包 ——思源免费商用字体
  11. 2020爱站网突然关闭,站长们现在用啥工具分析数据了?
  12. 科幻小说《霜与火》 by 雷·布雷德伯里
  13. 前端实习周记07(毕业论文开题了。。。欧耶。。。欧耶。。。耶。。。)
  14. vue3基础 —— 子传父
  15. VC++ 绘制线条 OnLButtonDown函数(DrawView.cpp) 利用SDK全局函数实现画线功能 利用MFC的CDC类实现画线功能 利用MFC的CClientDC类实现画线功能
  16. #pragma用法详解
  17. App是什么,可以分为几类?及其相关解释。
  18. 纯前端JS实现一个登记照改换底色背景色功能
  19. Ubuntu 12.04 更改 lightdm 登陆界面背景图
  20. Jasper Report 6.8 根据后台数据生成动态报表(JRXML文件实现)(二)生成XML文件(支持json,bean,map list数据源)

热门文章

  1. 纯手写的css3正方体旋转效果
  2. JavaScript实现接口的三种经典方式
  3. [Linux] 修改系统默认编码
  4. 《COM原理与应用》学习笔记二——COM对象和COM接口的实现
  5. ASP.NET中下载文件的几种方法
  6. mysql 循环创建列_mysql – 查询列中的循环值
  7. mxm智能教育机器人无法智能对话_零代码使用腾讯TBP打造智能对话机器人
  8. php手机端多图预览上传,JS实现多图预览上传的实例代码
  9. Linux下如何抓取串口码流,linux alsa音频中采样率fs、比特率BCLK 、主时钟MCLK关系...
  10. 计算器排html页面,htmltest~计算器界面的实现