要求:点击侧边栏某一栏,但页面对应的搜索条件不清空,保留搜索条件。类似于vue中的keep-alive。
在main.ts中定义好分页、页面搜索条件存储的名称
class Main {
/** 各页面当前页码 按页面标签区分 */
currPageNum: { [x: string]: number } = {};
/** 各页面当前记录数量 按页面标签区分 */
currPageSize: { [x: string]: number } = {};
/** 各页面当前搜索状态 按页面标签区分 */
currPageState: { [x: string]: { [x: string]: any } } = {};
}
let main: Main = new Main();
export default main;
在页面中需要将搜索条件存储到main中
1.首先新建一个标签
const pageTag = 'dept'; // 每个页面的唯一标识符
2.定义搜索条件
const deptName = useState(''); //原本定义字符串方法,但我们想让之前输入的内容回显回来就需要从main中根据标签获取存储的数据。
const depeName = useState(main.currPageState[pageTag].deptName ?? ''); //这样就是如果从main中获取到该页面的值了,就显示,否则就显示空字符串。
3.创建一个函数,其中包含请求参数
function createParams(){
return {
deptName,
...
}
}
4.点击搜索,执行搜索函数,将搜索数据存储到main中
function handleSearch(){
main.currPageState[pageTag] = createParams();
}