背景
可操作的详情页面url上携带了某个id值,在操作完后,需要变更该值重新获取详情等数据,防止用户手动刷新页面时,初始化数据仍使用旧值,所以需要在操作成功后,把接口返回的值替换到url上。
思路
没啥思路,就是用强大的qs,序列化对象,序列化url参数,完事儿。
实现
import qs from 'qs'
……
async action () {
cosnt { params, $query: { query } } = this
cosnt data = await updateStatus(params)
const href = window.location.href.split('?')
const path = (href && href.length) ? href[0] : ''
window.location.href = `${path}?${qs.stringify({ ...query, statusId: data })}`
}总结
就是这么简单,写这文章的目的也是记录下