记一次vue遇到的坑,表格发送添加或删除请求并重新请求数据,发现数据并没有同步刷新。

在网上看到几个解决方案,大多都是说生命周期问题或者说是缓存问题,一 一尝试后并没有解决掉这个问题,所以自己仔细思考了一下,参考了一下之前自己的代码为什么没有出现这个问题,得出了一下结论。

用删除例子来举例(其中,this.getTableDarta()方法是重新请求数据方法)

removeOptions({ optionId: id }).then(() => {
      this.$message({
        message: '删除成功',
        type: 'success'
      })
}
this.getTableData()

当我点击删除按钮触发该操作时,第一下明显发送请求成功,但表单数据并没有像我想象中的即刻重新请求,而是得点两下才能把数据刷新出来,达到删除效果。

这时我们可以看到我们发送了两个请求,一个是删除数据的请求,一个是重新请求数据的请求。猜测可能请求发送出去了,但是在服务端删除操作还没有完成时,获取数据已经完成,所以返回时数据并没有改变,所以我对代码进行了修改。

removeOptions({ optionId: id }).then(() => {
      this.$message({
        message: '删除成功',
        type: 'success'
      })
      this.getTableData()
}

当删除请求成功后,我再执行想要的操作(即是更新数据操作),那请求就不会同步发出了,而是有个先后的顺序性。

注:两处代码的不同为是否把 this.getTableData() 放进then里

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

元晖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值