Apache-ShenYu支持namespace功能(四)

2024-09-10 10:46:30 浏览数 (2)

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

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

PR链接:

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

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

代码语言:javascript复制
import { withRouter } from "dva/router";

然后绑定:

代码语言:javascript复制
export default withRouter(GlobalHeader);

然后从props里取出当前路由

代码语言:javascript复制
const { location: { pathname } } = this.props;

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

代码语言:javascript复制
const showNamespaces = !~[
      "/config/dict",
      "/config/namespace",
      "/config/pluginhandle",
      "/system/resource",
      "/system/role",
      "/system/manage",
    ].indexOf(pathname);

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

代码语言:javascript复制
{showNamespaces && (namespace组件)}

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

0 人点赞