领先的免费Web技术教程,涵盖HTML到ASP.NET

网站首页 > 知识剖析 正文

vue项目中input输入框输入不了值问题及解决

nixiaole 2025-02-13 13:36:26 知识剖析 9 ℃

编辑页面v-model 绑定的input 输入框输入不了值

原因

  • 对象 会递归遍历data中定义的所有变量 所以如果没定义就监听不到变化
  • 数组只有几个数组方法添加的会响应 通过下标不响应(push,pop会不响应)

解决方案

在获取到后端的数据后,定义一个新的对象,把后端数值接收到这个新的对象中,再把新的对象赋值给 data里面定义的对象

  1. if(res.data.success == true){
  2. let resForm={} //重新定义一个对象
  3. resForm={...res.data.data.activityInfo}
  4. resForm.activeTime=[res.data.data.activityInfo.startTime,res.data.data.activityInfo.endTime],
  5. resForm.listOne=res.data.data.listOne
  6. resForm.listTwo=res.data.data.listTwo
  7. this.formData={...resForm} //把定义的对象赋值给data里面定义的对象
  8. console.log(this.formData,2121212121)
  9. }

vue技能点--el-input输入框无法输入、无法修改

现象

使用Vue框架,发现输入框或者的内容无法修改,也无法输入。

解决方案

首先,检查绑定方式,应该使用v-model,有时候会误用:value,导致无法修改。

其次,如果是绑定数组元素等复杂对象,可以在输入框添加@input="onInput()",然后在methods中添加方法:

  1. onInput() {
  2. this.$forceUpdate();
  3. },

forceUpdate用来强制渲染,避免data中对象层次太深,Vue框架不自动渲染的情况。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

最近发表
标签列表