Commit 5e02d635 authored by 陈帅's avatar 陈帅 Committed by 偏右

fix list redirect bug (#507)

parent 74b4f30f
......@@ -32,28 +32,27 @@ const menuData = [{
icon: 'table',
path: 'list',
children: [{
name: '查询表格',
path: 'table-list',
}, {
name: '标准列表',
path: 'basic-list',
}, {
name: '卡片列表',
path: 'card-list',
}, {
name: '搜索列表',
icon: 'search',
path: 'search',
children: [{
name: '搜索列表(文章)',
path: 'articles',
}, {
name: '搜索列表(项目)',
path: 'projects',
}, {
name: '搜索列表(应用)',
path: 'applications',
}, {
name: '搜索列表(文章)',
path: 'articles',
}],
}, {
name: '查询表格',
path: 'table-list',
}, {
name: '标准列表',
path: 'basic-list',
}, {
name: '卡片列表',
path: 'card-list',
}],
}, {
name: '详情页',
......
......@@ -11,9 +11,29 @@ import GlobalFooter from '../components/GlobalFooter';
import SiderMenu from '../components/SiderMenu';
import NotFound from '../routes/Exception/404';
import { getRoutes } from '../utils/utils';
import { getMenuData } from '../common/menu';
const { Content } = Layout;
/**
* 根据菜单取得重定向地址.
*/
const redirectData = [];
const getRedirect = (item) => {
if (item && item.children) {
if (item.children[0] && item.children[0].path) {
redirectData.push({
from: `/${item.path}`,
to: `/${item.children[0].path}`,
});
item.children.forEach((children) => {
getRedirect(children);
});
}
}
};
getMenuData().forEach(getRedirect);
const { Content } = Layout;
const query = {
'screen-xs': {
maxWidth: 575,
......@@ -79,16 +99,19 @@ class BasicLayout extends React.PureComponent {
<div style={{ minHeight: 'calc(100vh - 260px)' }}>
<Switch>
{
getRoutes(match.path, routerData).map(item =>
(
redirectData.map(item =>
<Redirect key={item.from} exact from={item.from} to={item.to} />
)
}
{
getRoutes(match.path, routerData).map(item => (
<Route
key={item.key}
path={item.path}
component={item.component}
exact={item.exact}
/>
)
)
))
}
<Redirect exact from="/" to="/dashboard/analysis" />
<Route render={NotFound} />
......
import React, { Component } from 'react';
import { routerRedux, Route, Switch, Redirect } from 'dva/router';
import { routerRedux, Route, Switch } from 'dva/router';
import { connect } from 'dva';
import { Input } from 'antd';
import PageHeaderLayout from '../../layouts/PageHeaderLayout';
......@@ -72,7 +72,6 @@ export default class SearchList extends Component {
)
)
}
<Redirect exact from={`${match.path}`} to={`${match.path}${routes[0]}`} />
</Switch>
</PageHeaderLayout>
);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment