使用 JavaScript 改变 URL 参数值并且页面不刷新的方法有两种模式:
// 获取当前 URL 的参数
let searchParams = new URLSearchParams(window.location.search);
// 修改参数值
searchParams.set('paramName', 'paramValue');
const newBrowserUrl = new URL(window.location);
newBrowserUrl.search = searchParams.toString();
// 创建一个新的 URL,替换当前的 URL 但不刷新页面
window.history.replaceState({}, '', newBrowserUrl.toString());
const browserUrlParams = new URLSearchParams(window.location.search);
browserUrlParams.set('projectId',params.projectId);
browserUrlParams.set('groupId',params.groupId);
const newBrowserUrl = new URL(window.location);
newBrowserUrl.search = browserUrlParams.toString();
history.pushState({}, '', newBrowserUrl);
history.replaceState() 的使用与 history.pushState() 非常相似,区别在于 replaceState() 是修改了当前的历史记录项而不是新建一个。
http://blog.xqlee.com/article/2504111445071884.html