• menuTab 方法


    在使用 menuTab 方法之前需引入相应的方法。

    import { ... } from 'utils/menuTab';
    

    onBeforeMenuTabRemove

    参数

    [tabKey](String):tabKey

    [onBeforeHandler](() => boolean | Promise):返回值为 false 或 Promise.reject 将阻止tab页关闭

    示例

    
    onBeforeMenuTabRemove('/test', () => {
        return new Promise((resolve, reject) => {
          const { flag } = this.state;
          if (flag) {
            Modal.confirm({
              title: intl
                .get('hzero.common.message.confirm.giveUpTip')
                .d('你有修改未保存,是否确认离开?'),
              onOk: () => {
                resolve();
              },
              onCancel: () => {
                reject();
              },
            });
          } else {
            resolve();
          }
        });
      });
    
    
    

    getBeforeMenuTabRemove

    参数

    [tabKey](String):tabKey

    返回

    (Function|Any) :设置的回调函数或者设置的其他类型的字段

    示例

    
    const onBeforeHandler = getBeforeMenuTabRemove('/test');
    // => undefined
    
    

    deleteBeforeMenuTabRemove

    参数

    [tabKey](String):tabKey

    示例

    
    deleteBeforeMenuTabRemove('/test');
    
    

    openTab

    参数

    [newTab](Object):tabKey

    示例

    
    openTab({
        key: `/test`, // 打开 tab 的 key
        path: `/test/list`, // 打开页面的path
        title: 'hzero.common.title.test', // tab的标题
        search: queryString.stringify({
          action: 'test',
        }), // history 的 search 值
        icon: null, // 图标的值,antd 的 Icon
        closable: true, // tab 是否可以关闭
        type: 'menu', // tab 类型
      });
    
    

    closeTab

    参数

    [key](String):tab 的key

    示例

    
    closeTab('/test');
    
    

    updateTab

    参数

    [tab](Object):tab

    示例

    
    updateTab({
      closable: true,
      icon: "home",
      key: "/test",
      path: "/test",
      search: undefined,
      title: "hzero.common.title.test",
      type: "menu",
      });
    
    

    tabListen

    参数

    [pathname](String=''):URL的路径部分

    示例

    
    tabListen('/test/detail');
    
    

    cleanMenuTabs

    示例

    
    cleanMenuTabs();
    
    

    persistMenuTabs

    示例

    
    persistMenuTabs();
    
    

    getActiveTabKey

    返回

    (String):当前激活的tabKey

    示例

    
    const activeTabKey = getActiveTabKey();
    
    // => '/test/list'
    
    

    getInitialActiveTabKey

    返回

    (String):初始化的tabKey

    示例

    
    const activeTabKey = getInitialActiveTabKey();
    
    // => '/workplace'
    
    

    getInitialTabData

    返回

    (Object):初始化的tab

    示例

    
    const activeTab = getInitialTabData();
    
      // => [{
      //   title: "hzero.common.title.workspace", 
      //   icon: "home", 
      //   closable: false, 
      //   key: "/workplace", 
      //   path: "/workplace"
      //   }] 
    
    

    getTabFromKey

    参数

    [key](String): tab 的 key

    返回

    (Object):找到的tab

    示例

    
    const tab = getTabFromKey('/test');