zoukankan      html  css  js  c++  java
  • Vue中使用v-for实现一对多数据的2层和3层嵌套循环

    场景

    业务场景中常有一对多的情况。

    后端在给前端返回数据时是一个对象的list,为每个对象的有一个属性

    是多的那个的对象的list。

    比如后台给前端返回的数据示例如下

    那么在Vue中怎样将这个一对多的数据循环都显示出来。

    注:

    博客:
    https://blog.csdn.net/badao_liumang_qizhi
    关注公众号
    霸道的程序猿
    获取编程相关电子书、教程推送与免费下载。

    实现

    实现两层循环嵌套

          <div v-for="(item,index) in this.bcxingxidata" :key="index">
    
            <divv-if="item.bclx=='0'">
              <h1 style="color:red">班次名称:{{item.bcmc}}</h1>
              <ul v-for="(data,k) in item.bcglXiangXiList" :key="k">
                <li>打卡时间段{{k+1}}:{{data.dkkssj}}--{{data.dkjssj}}</li>
              </ul>
            </div>
    
            <divv-if="item.bclx=='1'">
              <h1 style="color:red">班次名称:{{item.bcmc}}</h1>
              <ul v-for="(data,k) in item.bcglXiangXiList" :key="k">
                <li>最早下井时间:{{data.dkkssj}}</li>
                <li>最晚下井时间:{{data.dkjssj}}</li>
                <li>最短下井时长:{{data.zxjxljsj}}</li>
                <li>最长下井时长:{{data.zdjxljsj}}</li>
              </ul>
            </div>
    
          </div>

    使用外面一层的item即代表每个对象,获取其多的那个list再次进行循环。

    这里是使用了v-if进行了判断,根据外层循环的某属性的不同值显示不同的模板。

    实现效果

    如果是三层嵌套循环或者更多的话同上

          <div v-for="(item,index) in this.bczxingxidata" :key="index">
            <h1 style="color:red">班次组名称:{{item.bczmc}}</h1>
            <div v-for="(ele,j) in item.kqBcglList" :key="j">
              <h2>班次名称:{{ele.bcmc}}</h2>
    
              <div v-if="ele.bclx=='0'">
                <ul v-for="(data,k) in ele.bcglXiangXiList" :key="k">
                  <li>打卡时间段{{k+1}}:{{data.dkkssj}}--{{data.dkjssj}}</li>
                </ul>
              </div>
    
              <div v-if="ele.bclx=='1'">
                <ul v-for="(data,k) in ele.bcglXiangXiList" :key="k">
                  <li>最早下井时间:{{data.dkkssj}}</li>
                  <li>最晚下井时间:{{data.dkjssj}}</li>
                  <li>最短下井时长:{{data.zxjxljsj}}</li>
                  <li>最长下井时长:{{data.zdjxljsj}}</li>
                </ul>
              </div>
            </div>
          </div>

    实现效果

  • 相关阅读:
    C++为什么不可以把一个数组直接赋值给另一个数组
    Eigen 矩阵库学习笔记
    HTTP请求报文和HTTP响应报文
    剔除三个(包括三个以上)的子串
    c语言实现:4和7幸运数字的题
    oracle顺序控制语句goto、null和分页过程中输入输出存储、java程序的调用过程
    oracle的控制语句if和循环语句loop while for
    oracle函数、包、变量的定义和使用、重点”结构体和数组”
    oracle pl/sql简介、块、过程
    oracle角色
  • 原文地址:https://www.cnblogs.com/badaoliumangqizhi/p/13523545.html
Copyright © 2011-2022 走看看