优化PersonnelSelect
parent
60e668e2a6
commit
80d4a3fc5f
|
|
@ -2,6 +2,9 @@ import { request } from "@cqsjjb/jjb-common-lib/http.js";
|
||||||
import { useEffect, useState } from "react";
|
import { useEffect, useState } from "react";
|
||||||
import BasicSelect from "../../Basic";
|
import BasicSelect from "../../Basic";
|
||||||
|
|
||||||
|
// 全局缓存
|
||||||
|
const cacheMap = new Map();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 人员下拉组件(港务局版本)
|
* 人员下拉组件(港务局版本)
|
||||||
*/
|
*/
|
||||||
|
|
@ -22,6 +25,15 @@ function PersonnelSelect(props) {
|
||||||
const [data, setData] = useState([]);
|
const [data, setData] = useState([]);
|
||||||
|
|
||||||
const getData = async () => {
|
const getData = async () => {
|
||||||
|
// 生成缓存键
|
||||||
|
const cacheKey = JSON.stringify({ params, extraParams });
|
||||||
|
|
||||||
|
// 检查缓存,如果存在直接返回缓存结果
|
||||||
|
if (cacheMap.has(cacheKey)) {
|
||||||
|
setData(cacheMap.get(cacheKey));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
setData([]);
|
setData([]);
|
||||||
// 根据参数决定是否发送请求
|
// 根据参数决定是否发送请求
|
||||||
if (isNeedCorpInfoId && !params.corpinfoId)
|
if (isNeedCorpInfoId && !params.corpinfoId)
|
||||||
|
|
@ -35,7 +47,11 @@ function PersonnelSelect(props) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const { data } = await request("/basicInfo/user/listAll", "get", { ...params, ...extraParams });
|
const { data } = await request("/basicInfo/user/listAll", "get", { ...params, ...extraParams, time: new Date().getTime() });
|
||||||
|
|
||||||
|
// 存入缓存
|
||||||
|
cacheMap.set(cacheKey, data);
|
||||||
|
|
||||||
setData(data);
|
setData(data);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue