vue element-ui 分页闪屏问题

一、问题原因

我想将整个分页对象传到后端,但是使用qs转换时,数组出现了问题。于是想将数组用JSON来转。可是每次调用时,都会出现闪屏(列表长度瞬间很长,然后恢复)。

二、解决办法

经过努力,发现原来是在将对象里的数组用JSON转换时进行了一次赋值,改变了表格data的值:

      this.pageModel.tableData = JSON.stringify(this.pageModel.tableData)
      this.$axios({
        method: "post",
        url: "url",
        data : Qs.stringify(this.pageModel)
      }).then(res => {
        this.pageModel = res.data;
      });

于是用个中间对象来占时接收分页对象,使其不改变:

      let pageModel = {
          currentPage: this.pageModel.currentPage,
          total : this.pageModel.total,
          pageSize : this.pageModel.pageSize,
          tableData: JSON.stringify(this.pageModel.tableData)
        }
      this.$axios({
        method: "post",
        url: "/labelRest/list",
        data : Qs.stringify(pageModel)
      }).then(res => {
        this.pageModel = res.data;
      });

这样就解决了闪屏问题了。

三、总结

改变绑定的值,是会立即算下dom的。

 

其实tableData根本不需要传递给后端的,给个空数组就行了,所以用JSON转换是多余的……

不过如果以后端接收对象里有数组时可使用这种办法。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值