折雨的天空

新浪微薄腾讯微薄

最新碎语:最近霉到了住。哎。。。

您的位置:折雨的天空 >Java开发> el-table的数据没有随着ajax请求而改变的问题

el-table的数据没有随着ajax请求而改变的问题

问题描述:


一个表格10条数据,通过一次ajax请求,获取到了大部分数据,另外还需要根据第一个ajax获得的结果,再次请求新的接口

新请求的接口返回的数据,赋值后,表格内容没有变化。



getList() {
        this.loading = true;
        listValuedomainBase(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
          this.valuedomainBaseList = response.rows;
          this.total = response.total;
          this.loading = false;
          this.valuedomainBaseList.forEach((res,item)=>{
            getItemCountBydomainId(res.id).then(itemRes=>{
                        res.itemCount=itemRes.data;
            });
          });
        });
      }

其中,通过console.log打印this.valuedomainBaseList的数据是变化了的



<el-table-column label="项目数" align="center" width="80" prop="itemCount">
        <template slot-scope="scope">
            <span>{{ scope.row.itemCount }}</span>
        </template>
</el-table-column>

赋值代码如上。



经过反复研究发现,问题在于第一次请求,listValuedomainBase返回的结果集中,没有itemCount属性,这个属性是foreach追加的,所以导致不生效。


解决办法:

调整listValuedomainBase方法的返回值,增加初始字段itemCount即可。

增加初始字段,就是在Entity中加入


@TableField(exist = false)
private Long itemCount;

------------正 文 已 结 束, 感 谢 您 的 阅 读 (折雨的天空)--------------------

转载请注明本文标题和链接:《el-table的数据没有随着ajax请求而改变的问题

奖励一下

取消

您的认可,是我写博客的动力,谢谢您!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

发表评论

路人甲 表情
看不清楚?点图切换