url携参和对象整个传递的写法简述
版本:“@umijs/max”: “^4.0.87”,
跳转的组件
import { history } from 'umi';
// ...
<Icon
style={{ verticalAlign: 'middle' }}
size={16}
className={styles.actionIcon}
onClick={() => {
history.push(
{
pathname: '/Detail/permissionInfoChangeRecord',
search: `id=${record?.id}`, // 携带在url地址后的数据,单一的字符串数据(非对象)
},
// 这边的record就是我们想传递的对象数据
{ tabRoute: true, tabRefresh: true, record }
);
}}
icon='iconsystem_general_authority_view'
isButton
/>
或者这样写:
import { history, createSearchParams } from 'umi';
// ...
<Icon
style={{ verticalAlign: 'middle' }}
size={16}
className={styles.actionIcon}
onClick={() => {
history.push(
{
pathname: '/userManage/companyList/Detail/permissionInfoChangeRecord',
// 这边的createSearchParams函数返回值可以实现传递对象数据
search: createSearchParams({
id: record?.id,
tenantCode
}).toString()
},
{ tabRoute: true, tabRefresh: true }
);
}}
icon='iconsystem_general_authority_view'
isButton
/>
接受参数的组件
import { useLocation } from 'umi';
import queryString from 'query-string';
const location = useLocation();
const query = queryString.parse(location.search);
console.log('query, location===>', query, location);