芒果不吃罐头 2020-07-14 08:56 采纳率: 50%
浏览 379
已采纳

用循环出来的值去请求接口,并展示到页面上

图片说明

不同的类型下展示对应的任务,

taskStatusList:[{key:1,value: '待办的'},{key:1,value: '进行中'}]

用taskStatusList中的每一项去请求接口

// 任务状态
this.taskStatusList.forEach((item) => {
  const params = {
    loginName: this.loginName,
    pageNum: this.pager.pageNum,
    pageSize: this.pager.pageSize,
    status: item.value,
  };
  this.$api.Task.taskList(params, (res) => {
    console.log(res);
    this.tableData = res.list || [];
    this.tableData.forEach((ele) => {
      this.commentData(ele.taskId); // 这段代码是循环上面的严重,配置相关的
    });
  });
});
<ul class="board-list" v-infinite-scroll="taskListData">
    <li class="card clearfix"
        v-for="(item, index) in tableData"
        :key="index">
        <div class="list-title padding">{{ item.title }}         </div>
    <li>
</ul>

按照现在的写法出现的问题是:
每个状态下的任务都是一样的,( 后台返回的数据是对的 )

大概知道问题出在哪里:
this.tableData = res.list || []; 看上去这里有问题,这里会把值覆盖成最后一次的返回,

请问怎么让每个状态下回显对应的任务呢?

  • 写回答

2条回答 默认 最新

  • 禅思院 前端领域优质创作者 2020-07-14 10:04
    关注

    有问题,因为是双向绑定的。 this.tableData会一直变化,直到最后一次接口掉完位置,而且所有的值 都是和最后一次的一样,建议定义一个数组去接受,数组和您的循环的key保持一致就行啦

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已采纳回答 3月1日

悬赏问题

  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统