vue表格展开数据时列表值重复

img


当数据不展开时,列表值正确,只有三个值

img


可当展开子数据时,列表值会翻一倍。
有没有知道是什么原因说一下,谢谢

看一下,是不是展开事件,导致了加工类型的重复加载

  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7529553
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:vue 进入到一个新路由页面后,路由组件页面缓存,如何实现路由组件刷新重载?
  • 除此之外, 这篇博客: Vue路由跳转记住滚动位置,返回时回到上次滚动的位置中的 总体思路是把当前组件内的滚动值保存起来或者缓存起来,返回时还是原来的值。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 大体上有三种方法去解决

  • 您还可以看一下 耿职老师的VUE开发旅游攻略移动端,零基础到实战,短信验证码,登录,注册课程中的 课程简介及成果展示小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    问题的原因是多次请求异步接口,一个接口没有返回时,另外一个接口就发出去,导致数据重复或错误。解决这个问题需要使用防抖或节流的方式来限制请求的频率。

    防抖和节流是常用的处理多次触发异步请求的方法。防抖指的是在一定时间内多次调用只执行最后一次,而节流则是在一定时间内只执行一次。根据情况选择使用防抖或节流。

    在Vue中使用防抖和节流可以借助第三方库,比如lodash。以下是使用lodash库进行防抖和节流的示例代码:

    1. 使用防抖:
    1. 安装lodash库
    npm install lodash
    
    2. 在需要使用防抖的地方引入debounce方法
    import { debounce } from 'lodash';
    
    3. 在需要使用防抖的方法前加上防抖函数
    export default {
      data() {
        // ...
      },
      methods: {
        fetchData: debounce(function() {
          // 异步请求代码
        }, 500) // 设置防抖的时间间隔,这里设为500ms
      }
    }
    
    1. 使用节流:
    1. 安装lodash库
    npm install lodash
    
    2. 在需要使用节流的地方引入throttle方法
    import { throttle } from 'lodash';
    
    3. 在需要使用节流的方法前加上节流函数
    export default {
      data() {
        // ...
      },
      methods: {
        fetchData: throttle(function() {
          // 异步请求代码
        }, 500) // 设置节流的时间间隔,这里设为500ms
      }
    }
    

    以上是使用lodash库进行防抖和节流的示例代码,你可以根据自己的需求调整时间间隔。如果你不想使用第三方库,也可以根据参考资料中提供的时间戳版节流函数来实现防抖和节流。

    希望以上内容对你有帮助。如果你还有其他问题,可以继续提问。