项目需求

  • vue项目,后端获取的n条数据中的名称,前台展示,并要求点击后可直接修改这个效果
    1.使用input标签,但是:value和:model使用有问题
    2.给按钮绑定enter事件,修改成功后光标依旧在闪,用户体验不好,需解决


<div class="lf">
  <input
    type="text"
    class="noname"
    :title="item.show_name"
    :value="item.show_name?item.show_name:'未命名视频'"
    @keyup.enter="search($event,item)"
    @blur="search($event,item)"
  />
</div>
search: function (event, item) {//保存视频名称
  let that = this
  let obj = {
    task_id: item.id,
    show_name: event.currentTarget.value
  }
  that.$ajax.post("/test", obj).then(res => {
    if (res.data.rtn == 0) {
      Message({
        type: 'success',
        showClose: true,
        message: '命名成功!',
        duration: 3500
      })
      event.srcElement.blur() //主动使按钮失去焦点
    }
  })
},

结论

1.使用search($event)方法贼强大,比那些$refs等获取的跟强大(个人使用感觉),获取输入的字符很方便
2.主动使按钮失去焦点如代码片段中注释所写

项目小需求
1.vue路由跳转后新打开页面

这个百度都能搜到

  let { href } = this.$router.resolve({ //打开新窗口
    path: "/new/admaking/production",
    query: {
    }
  })
  window.open(href, '_blank')

94_青年
40 声望0 粉丝

满纸荒唐言 一把辛酸泪 都云作者痴 谁解其中味