javascript - 更新查询字符串 onChange - reactjs
问题描述
我有一个带有查询字符串的 url,看起来像这样
http://localhost:3000/collection?page=1&limit=15&filter=%27%27&filterInitDate=2019/11/11&filterEndDate=2019/11/11
我只想filterInitDate
在我从日期输入中选择日期时更新。我知道我可以简单地通过使用来更新 url,但是当我更改日期输入时我this.props.history.push
怎么能更改/更新filterInitDate
理想情况下是这样的
history.push(`/collection?filterInitDate=${startDate}`)
解决方案
您可以为此使用URL和URLSearchParams类,这是一个示例:
const urlStr = 'http://localhost:3000/collection?page=1&limit=15&filter=%27%27&filterInitDate=2019/11/11&filterEndDate=2019/11/11';
const url = new URL(urlStr);
url.searchParams.set("filterInitDate", "2019/11/12");
console.log(url.toString());
特定于反应路由器的示例如下所示:
const query = new URLSearchParams(history.location.search);
query.set("filterInitDate", startDate);
history.replace({
search: query.toString()
});
推荐阅读
- python - 将日期时间与时间范围进行比较
- java - 将参数传递给其他类的私有类时获取java.lang.nullpointerexception
- c - 指向 void 的指针在下面的声明中扮演什么样的角色?
- python - Python:具有可覆盖构造函数的不可变、类型化、可扩展类?
- google-app-engine - Google App Engine goapp“部署”工作但“服务”失败,这是怎么回事?
- firebase - 将 Firebase 图片网址添加到我的收藏
- powershell - 从 .txt 文档中查找包含字符串的所有单词
- hyperledger-fabric - Hyperledger Fabric 在构建链码时找不到 go 文件
- php - 查找字符串中的最后一个数值
- javascript - 使用 d3.js (v5) 读取没有标题的 csv