Skip to content

函数: setQueryParam()

ts
function setQueryParam(url, params): string;

定义于: url.ts:163

在 URL 上设置 / 合并 query 参数,保留原有参数与 # hash。

参数

参数类型描述
urlstring原始 URL 或路径(可含 query 与 hash)
paramsRecord<string, any>要写入的键值对:已存在则覆盖、不存在则追加;数组展开为同名多项;值为 null / undefined 则删除该键

返回值

string

处理后的新 URL 字符串(原样保留路径与 hash)

备注

与只生成 query 片段的 stringifyQuery 不同,本函数在完整 URL / 路径上原地增改,且保留 hash。 删除全部参数后不会残留孤零零的 ?

示例

ts
setQueryParam('/p?a=1', { b: 2 })        // => '/p?a=1&b=2'(追加)
setQueryParam('/p?a=1', { a: 2 })        // => '/p?a=2'(覆盖)
setQueryParam('/p?a=1&b=2', { b: null }) // => '/p?a=1'(删除)
setQueryParam('/p?a=1#top', { b: 2 })    // => '/p?a=1&b=2#top'(保留 hash)