美文网首页
vue.set/this.$set

vue.set/this.$set

作者: 3e2235c61b99 | 来源:发表于2020-07-22 10:53 被阅读0次

vue项目中,几个表格分开展示,但是展示的内容都一样(不展示的内容有区别),为了省事儿,就给封装了个子组件,但是在父组件中更新数据之后,没有触发视图的更新,使用以下代码解决:

this.savedData.visitorVoList.forEach((item,index) => {
  this.$set(this.formData.visitorVoList, index, item)  //this.formData.visitorVoList是父组件的数组数据
})

用this.$set可以触发视图更新

还有个功能是可以导入文件,用导入后的内容替换当前表格的内容.导入文件的数组长度比当前表格的数组长度大还好说,可以直接用上面的方法;但是当导入的数组长度比当前表格的数组长度小时,用上面的方法只能更新导入数据数组长度的数据,其他数据不更新也删除不了.可以使用splice()方法先清空表格数据再赋值.
arr.splice(index,1)splice已经被vue处理过了,可以双向绑定

  this.formData.visitorOtherVoList.splice(0, 100)  //用this.formData.visitorOtherVoList = [] 不好使
  if(res.data.visitorOtherVoList.length > 0) {
    res.data.visitorOtherVoList.forEach((item,index) => {
      this.$set(this.formData.visitorOtherVoList, index, item)
    })
  }else {
    this.$set(this.formData.visitorOtherVoList, 0, emptyData)
  }

这样就可以啦

相关文章

  • vue强制更新

    使用update this.$forceUpdate(),强制视图更新 用vue.set this.$set(th...

  • Vue.set和Vue数据监测

    Vue.set this.$set(this.student,'添加的属性','添加的属性值') Vue数据监测 ...

  • vue.set/this.$set

    vue项目中,几个表格分开展示,但是展示的内容都一样(不展示的内容有区别),为了省事儿,就给封装了个子组件,但是在...

  • Vue.set()和this.$set()

    在我们使用vue进行开发的过程中,可能会遇到一种情况:当生成vue实例后,当再次给数据赋值时,有时候并不会自动更新...

  • Vue.set() 和this.$set()

    这两个方法其实是差不多的,可以说几乎是一样的,只不过set是绑定在Vue构造函数上,$set()是绑定在Vue原型...

  • Vue.set()实现数据动态响应

    this.$set()和Vue.set()本质方法一样,前者可以用在methods中使用。 在vue里面,我们操作...

  • vue中的set

    Vue.set()在methods中也可以写成this.$set() 这个组件最后显示的界面如下: 当点击按钮之后...

  • Vue.set()实现数据动态响应!!!

    this.$set()和Vue.set()本质方法一样,前者可以用在methods中使用。 在vue里面,我们操作...

  • 深入理解Vue的数据响应式

    【目录】一、Vue对data做了什么?二、数据响应式三、Vue.set和this.$set 【正文】在学习Vue的...

  • Vue.set()和this.$set()区别

    Vue.set()的源码import { set } from '../observer/index'...Vue...

网友评论

      本文标题:vue.set/this.$set

      本文链接:https://www.haomeiwen.com/subject/dfkzkktx.html