Vue中TodoList案例_编辑

这篇具有很好参考价值的文章主要介绍了Vue中TodoList案例_编辑。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

nextTick: 

Vue中TodoList案例_编辑,linerVue,vue.js,前端,javascript

MyItem.vue

加一个编辑按钮,input框:@blur失去焦点时触发事件handleBlur,ref获取真实dom:

     <input
            type="text"
            v-show="todo.isEdit"
            :value="todo.title"
            @blur="handleBlur(todo,$event)"
            ref="inputTitle"
        >
      <button class="btn btn-edit" @click="handleEdit(todo)" v-show="!todo.isEdit">编辑</button>

methods加俩方法:

 //编辑
    handleEdit(todo){
      if (todo.hasOwnProperty.call('isEdit')){
        todo.isEdit = true
      }else {
        console.log('a@@')
        this.$set(todo,'isEdit',true)
      }
      // setTimeout(()=>{
      //   this.$refs.inputTitle.focus()
      // },20)
      this.$nextTick(function (){
           this.$refs.inputTitle.focus()
      })
    },
    //失去焦点回调(真正执行修改逻辑)
    handleBlur(todo,e){
      todo.isEdit=false
      if (!e.target.value.trim())return alert('输入不能为空')
      this.$bus.$emit('updateTodo',todo.id,e.target.value)
    }

App.vue:

methods:中加一个方法

 //更新一个todo
    updateTodo(id,title){
      this.todos.forEach((todo)=>{
        if (todo.id===id)todo.title=title
      })
    },

mounted钩子中添加

    this.$bus.$on('updateTodo',this.updateTodo)

beforeDestroy钩子中添加

    this.$bus.$off('updateTodo')

style中加编辑按钮样式:

.btn-edit {
  color: #fff;
  background-color: skyblue;
  border: 1px solid #0f7daa;
  margin-right: 3px;
}

Vue中TodoList案例_编辑,linerVue,vue.js,前端,javascript

 文章来源地址https://www.toymoban.com/news/detail-607951.html

到了这里,关于Vue中TodoList案例_编辑的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Vue中TodoList案例_本地存储

    App.vue 效果 :数据存储再localStroage中,刷新浏览器保存的数据仍在。   

    2024年02月15日
    浏览(54)
  • Vue2-浏览器本地存储(WebStorage)及完善TodoList案例、组件自定义事件及完善TodoList案例

    🥔:山不向我走来,我便向它走去 更多Vue知识请点击——Vue.js 存储内容大小一般支持5MB左右(不同浏览器可能还不一样) 浏览器端通过 Window.sessionStorage 和 Window.localStorage 属性来实现本地存储机制。 1.相关API (1) xxxxxStorage.setItem(\\\'key\\\', \\\'value\\\'); 该方法接受一个键和值作为参

    2024年02月12日
    浏览(55)
  • vue.js前端框架应用案例

    Vue.js 是一种流行的前端框架,它可以帮助开发者构建单页应用(SPA)和复杂的用户界面。以下是几个 Vue.js 的案例,涵盖了不同领域的应用: Vue.js 官方文档 :Vue.js 的官方文档本身就是一个使用 Vue.js 构建的项目。它展示了 Vue.js 的各种功能和最佳实践,包括组件、指令、混

    2024年02月21日
    浏览(50)
  • Vue2-全局事件总线、消息的订阅与发布、TodoList的编辑功能、$nextTick、动画与过渡

    🥔:高度自律即自由 更多Vue知识请点击——Vue.js 一种组件间通信的方式,适用于任意组件间通信。通俗理解就是一个定义在所有组件之外的公共嘎达,这个嘎达可以有vm或vc上的同款 $on、$off、$emit ,也可以让所有组件都访问到。要想实现这个事情,只能在 Vue.prototype 上添加

    2024年02月11日
    浏览(41)
  • vue-codemirror实现一个前端代码在线编辑器,可处理 HTML,VUE,JS,CSS代码在线编辑

    先找个目录创建一个vue项目 例如 我们想要项目叫 editor 在终端执行 2和3其实都可以 但个人建议 最近还是2会更稳定一些 在终端执行 引入依赖包 然后在项目src目录下创建 utils 文件夹 里面创建一个setting.js 参考代码如下 然后 这边 调用组件的代码 因为项目也刚创 我直接写 s

    2024年02月15日
    浏览(55)
  • vue3表格,编辑案例

    index.vue edit.vue

    2024年02月13日
    浏览(33)
  • JavaScript - 判断当前时间是否在指定区间内,例如:9:00~12:00(检查当前时间是否处于规定的两个时间段范围内),适用于 vue.js / uniapp / 微信小程序等前端项目

    例如,您想知道当前时间是否处于 9:00 ~ 12:00 时间区间内,然后根据这个判断进而实现业务逻辑。 如下示例所示, 本文提供一个函数,您只需要传入 2 个时间区间,便可得出当前时间是否在该时间区间范围内: 您可以一键复制,直接粘贴到您的项目中。 您只需要传入开始时

    2024年02月16日
    浏览(63)
  • 前端实现在线预览、编辑Office文档(vue版)

    使用插件:Spire.Cloud在线Office文档编辑器(官网:冰蓝科技在线编辑) 无需安装,在 index.html 里面引入即可 重点:支持在线创建、编辑、保存和打印 Office (Word / Excel / PPT) 文档 助您轻松实现高效率、无纸化办公 使用浏览器打开:https://cloud.e-iceblue.cn/,点击右上角头像注册/登

    2024年02月12日
    浏览(65)
  • 前端随笔:HTML/CSS/JavaScript和Vue

    最近因为工作需要,需要接触一些前端的东西。之前虽然大体上了解过 HTML 、 CSS 和 JavaScript ,也知道 HTML 定义了内容、 CSS 定义了样式、 JavaScript 定义了行为,但是却没有详细的学习过前端三件套的细节。而最近的工作中需要使用 Vue ,并且想到未来的工作中使用 Vue 能够更

    2024年02月16日
    浏览(44)
  • JavaScript 框架比较:Angular、React、Vue.js

    在 Web 开发领域,JavaScript 提供大量技术栈可供选择。其中最典型的三套组合,分别是 MERN、MEAN 和 MEVN。这些首字母相同的选项各自代表不同的技术加工具组合。为了在这些技术栈中做出明智选择,让我们先从核心组件聊起,再对各自前端框架(React、Angular 和 Vue)进行简化比

    2024年01月20日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包