修改url上的query

3,227 阅读1分钟

背景

可操作的详情页面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 })}`
}

总结

就是这么简单,写这文章的目的也是记录下