教育的最高目标不是知识而是行动。——斯宾塞

本次适配是将几个页面的namespace选择框隐藏了,然后对data-permission数据权限配置弹框里添加了一个namespace选择框,并在内部切换namespace时候刷新表格

PR链接:

https://github.com/apache/shenyu-dashboard/pull/479

隐藏namespace的逻辑很简单,首先用withRouterreact组件和dvajs的路由绑定:

1
import { withRouter } from "dva/router";

然后绑定:

1
export default withRouter(GlobalHeader);

然后从props里取出当前路由

1
const { location: { pathname } } = this.props;

进行判断,当不在下列路由里时,showNamespacestrue

1
2
3
4
5
6
7
8
const showNamespaces = !~[
"/config/dict",
"/config/namespace",
"/config/pluginhandle",
"/system/resource",
"/system/role",
"/system/manage",
].indexOf(pathname);

然后在renderjsx里,如果showNamespacestrue,渲染组件

1
{showNamespaces && (namespace组件)}

下一步就是添加data-permission弹框适配了,没啥需要特意说的,看代码吧,基本就是照着ant-design文档进行开发