打开tab 刷新页面数据

提问 已结
3 64
Mowgli
Mowgli VIP4 2018-12-6
悬赏:20飞吻
版本:layui 浏览器:
打开指定Tab页面后,怎么刷新打开的页面的tab呢



回帖
  • @Mowgli 感觉编辑最好是弹窗解决
    如果非要这样就监听一下路由
    //监听路由
    // 下述中的 xxx 可随意定义,不可与已经定义的 hash 事件同名,否则会覆盖上一事件
    admin.on('hash(xxx)', function(router){
    console.log(router); //得到路由信息
    });
    1 回复
  • 写了个扩展方法 [嘻嘻]

    /**
    * 关闭当前页并刷新指定页
    * @param path 指定刷新或打开的路径
    * @param isReopen 1= 强制打开 | 其他=无操作
    */
    closeAndReload = function(path, isReopen) {
    var currPath = location.pathname;
    var topDoc = layui.$(window.top.document);

    if (path && topDoc.find("li[lay-id^='" + path + "']").length) {
    // 获取页面名称
    var name = topDoc.find(".layui-nav-item [lay-href^='" + path + "']").text();

    window.parent.layui.index.openTabsPage(path, name);
    var iframe = window.parent.layui.admin.tabsBody(window.parent.layui.admin.tabsPage.index).find(".layadmin-iframe");
    iframe[0].contentWindow.location.reload(true);
    }else if(isReopen){
    var name = topDoc.find(".layui-nav-item [lay-href^='" + path + "']").text();
    window.parent.layui.index.openTabsPage(path, name);
    }

    var layid = topDoc.find("li[lay-id^='" + currPath + "']").attr('lay-id');
    window.parent.layui.element.tabDelete('layadmin-layout-tabs', layid);
    }
    0 回复
  • @丨末

    写了个扩展方法 [嘻嘻]

    /**
    * 关闭当前页并刷新指定页
    * @param path 指定刷新或打开的路径
    * @param isReopen 1= 强制打开 | 其他=无操作
    */
    closeAndReload = function(path, isReopen) {
    var currPath = location.pathname;
    var topDoc = layui.$(window.top.document);

    if (path && topDoc.find("li[lay-id^='" + path + "']").length) {
    // 获取页面名称
    var name = topDoc.find(".layui-nav-item [lay-href^='" + path + "']").text();

    window.parent.layui.index.openTabsPage(path, name);
    var iframe = window.parent.layui.admin.tabsBody(window.parent.layui.admin.tabsPage.index).find(".layadmin-iframe");
    iframe[0].contentWindow.location.reload(true);
    }else if(isReopen){
    var name = topDoc.find(".layui-nav-item [lay-href^='" + path + "']").text();
    window.parent.layui.index.openTabsPage(path, name);
    }

    var layid = topDoc.find("li[lay-id^='" + currPath + "']").attr('lay-id');
    window.parent.layui.element.tabDelete('layadmin-layout-tabs', layid);
    }
    0 回复