美文网首页
vue3 数组项是对象,解决修改数组某一项数据视图不更新问题

vue3 数组项是对象,解决修改数组某一项数据视图不更新问题

作者: 八妹sss | 来源:发表于2024-05-15 15:39 被阅读0次

示例代码

<template>
  <section class="courseDetail">
    <p v-for="item in arr" :key="item.id">{{ item.obj.text }}</p>
  </section>
</template>
<script setup>
const arr = ref([]) // 显示的数据
const arr1 = ref([]) // 接口获取的数据
let arr2 = ref([])
const updateArr = (list) => {
  if (!list.value.length) {
    arr2.value = []
  } else {
    arr2.value = list.value.map(item => {
      return {
        ...item,
        val: 1
      }
    })
  }
  
}
const timer = setTimeout(() => {
  arr1.value = [
    {id:1, name: '数据1', obj: {val:1,text:'1'}},
    {id:2, name: '数据2', obj: {val:1,text:'1'}}
  ]
  updateArr(arr1)
  arr.value = arr2.value
  clearTimeout(timer)
}, 1000)

const timer2 = setTimeout(() => {
  arr2.value[0].obj = {val:2,text:'2'}
  updateArr(arr2)
  console.log('arr2-2',arr2.value)
  console.log('arr', arr.value)
  clearTimeout(timer2)
}, 4000)
</script>

相关文章

  • ES6之数组扩展

    (1)fill( ) 用给定参数填充数组如果传入的对象,对某一项对象属性的修改会反映到所有,因为所有数组项都是用的...

  • vue项目中碰到的问题

    vue项目中碰到的问题 路由懒加载写法: Vue 数组/对象更新 视图不更新深拷贝对象或者数组,视图会进行更新对象...

  • Lodash使用避坑小结

    Array篇 1. 使用 Lodash 的 remove 方法删除数组项后,视图不更新 想从数组中按照某种筛选条件...

  • Vue.js中易被忽略的知识点

    一、通过data中的数组变量的下标去修改数组的值,数据已经被修改了,但是不触发updated函数,视图不更新; 二...

  • vue更改了数据但是视图却没有更新

    数据更新了但视图没有更新,常见的有两种情况:数组、对象 数组更新检测 数组有一些方法可以导致视图更新 push()...

  • iview-admin 关于列表数据更新,但视图无法刷新问题小记

    问题描述: 需求:修改对应的数据项的时候,也需要把当前修改的数据项直接的更新到视图中! 修改数据选项的时候: 因为...

  • 小程序知识点

    1.修改data中的数组对象中的某一项 方法1: 方法2: 2.小程序中监听数组对象(数据) 推送门:https:...

  • JS方法数组方法reduce方法常用实例总结

    数组求和 数组项相乘 数组项计数 数组项去重 多维维数组转一维数组 数组对象指定字段求和 示例代码

  • NumPy Ndarray 对象

    ndarry:多维数组对象 数据切片是原始数组的视图,数据不会被复制,试图上的任何修改都会直接反映到源数据上: 如...

  • vue.js 核心知识点四

    目录 - 4.1 vue更新数组或者对象时触发视图更新的方法 - 4.2 解决非工程化项目初始化页面闪动问题 - ...

网友评论

      本文标题:vue3 数组项是对象,解决修改数组某一项数据视图不更新问题

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