vue中数组变异方法push动态添加数据时视图不更新

vue中数组变异方法push动态添加数据时视图不更新,第1张

vue 中,数组动态push对象时正常情况是可以更新视图的,犯了一个错误,记录一下总结就是: 注意数据是否为响应式数据

最常见场景: form 表单中有一组动态增删数据的列表,如图示:

在编辑的时候,拿到接口返回的值时,错误的做法: 使得问题列表 smQuestionList 失去了响应式数据的性质,即 data 中没有了,而是重新通过 . 添加的

这样在调用新增的时候,通过 vue-Devtool 看到数据增加了,但视图却没有更新,当时没考虑那么多直接使用了强制刷新 DOM — this.$forceUpdate() ,事后想着还是不对劲,反复看了一下才发现是因为数据没有响应式,给 form 赋值注意按照即可

记录一下

v-for是vue.js中的指令,用于遍历数组或对象中的数据,动态添加dom。使用v-for指令时,需要提供一个数组或对象,它会根据提供的数据来渲染相应的dom结构。v-for指令的语法是:v-for="(item,index) in items",其中items是要遍历的数组或对象,item是当前遍历到的元素,index是当前遍历到的元素的索引。使用v-for指令可以快速的渲染出dom结构,而不用写大量的dom结构代码。

添加当儿元素比较简单,只需要一个关键字push 他的意思就是把当前元素添加到数组的最后

直接添加数组元素就更简单了

他的意思就是,把当前数组this.newsList  和临时数组list  组成一个新的数组,然后重新赋值给this.newsList 


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11637046.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存