网站首页 > 博客文章 正文
时常有种情况:动态修改数组中的value发现js是修改成功了,但是页面上并未渲染出来 纳尼?咱就稍微聊一下数组中的一些方法。
提示:渲染页面是指:触发视图更新。如果无需视图更新 直接js里面修改是不用考虑这么多的。
data:{
arr:[{id:1,checked:false},{id:2,checked:false}]
}
A. 能修改原始数组的方法(均可触发数据重新渲染,至视图更新)
push(),pop(),shift(),unshift(),splice(),sort(),reverse()
B.不修改原始原始数组,返回新的数组方法(可用新数组代替原始数组 来达到视图更新)
filter()
this.arr=this.arr.filter(item=>{item.checked=true;return item})
concat()
slice()
C.其他方法:通过指定下表修改对应value(无法触发视图更新)或循环或等等
例1:this.arr[0].checked=true(发现视图并未更新)
可用其他方法替代:
1.this.$set:
let itemTemp=this.arr[0]
itemTemp.checked=true
this.$set(this.arr,0,itemTemp)
2.或者用splice():
注意:数组是引用类型,直接赋值(itemTemp=this.arr[0])只是添加了一个指向数组的指针,原数组改变时,新数组也会改变
let itemTemp=(this.arr.concat())[0]
this.arr.splice(0,1,itemTemp)
例2:假如有个全选的功能(或者重置)也就是设置checked值
错误方法:(视图不更新)
this.arr.forEach(item=>{
item.checked=true
})
可替代为:
this.arr=this.arr.filter(item=>{
item.checked=true
return item
})
猜你喜欢
- 2024-10-27 ES6扩展运算符:详解与实践(es6扩展运算符深拷贝)
- 2024-10-27 Excel|文本花样连接,CONCATENATE、CONCAT、TEXTJOIN帮你完成
- 2024-10-27 Javascript中数组的方法(javascript 数组方法)
- 2024-10-27 LeetCode题集-4 - 寻找两个有序数组的中位数,六种解法,万字讲解
- 2024-10-27 JS中的Array对象——数组的合并、转换、迭代、排序、堆栈
- 2024-10-27 JavaScript 数组方法的介绍(javascript数组方法有哪些)
- 2024-10-27 vue-router的基本使用(vue- router)
- 2024-10-27 ???数组中的逆序对(归并排序思想)
- 2024-10-27 数据分析工具:Pandas架构分析(pandas数据分析模型)
- 2024-10-27 js数组有哪些常用方法(js中数组有哪些方法)
你 发表评论:
欢迎- 367℃用AI Agent治理微服务的复杂性问题|QCon
- 358℃初次使用IntelliJ IDEA新建Maven项目
- 356℃手把手教程「JavaWeb」优雅的SpringMvc+Mybatis整合之路
- 351℃Maven技术方案最全手册(mavena)
- 348℃安利Touch Bar 专属应用,让闲置的Touch Bar活跃起来!
- 346℃InfoQ 2024 年趋势报告:架构篇(infoq+2024+年趋势报告:架构篇分析)
- 345℃IntelliJ IDEA 2018版本和2022版本创建 Maven 项目对比
- 342℃从头搭建 IntelliJ IDEA 环境(intellij idea建包)
- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)