【问题标题】:mottie tablesorter destroy, destroys look and feel of tablemottie tablesorter破坏,破坏表格的外观和感觉
【发布时间】:2014-04-09 17:06:49
【问题描述】:

我一直在使用 phantomjs 和 wkhtmltopdf 生成带有颜色的大型 7000 行引导主题表的 PDF 报告。尝试这样做时,两者都会耗尽内存。两者都使用了将近 1GB 的内存来尝试生成表格的 PDF。所以我一直试图找出原因。我想在打印 PDF 报告时首先尝试取消链接 tablesorter 并清除它的缓存,因为它不需要任何用户交互(不需要排序或过滤)。但是每次我使用破坏时,它都会破坏桌子的外观。我想保留外观和感觉,但只破坏小部件和缓存之类的 tablesorter 东西,这样它就不会消耗太多内存。有没有办法清除 tablesorter 但保留我的桌子的外观和感觉?

更新: 感谢您回复 Mottie!

我实际上尝试过并调试过,发现这就是使用引导主题启用 tablesorter 时 DOM 的样子:

<table data-bind="if: details" id="ColorTable-sticky" class="tablesorter tablesorter-bootstrap table table-bordered hasFilters containsStickyHeaders tablesorter-sticky-hidden" style="position: fixed; margin: 0px; top: 40px; visibility: hidden; z-index: 2; height: 0px; width: 1190px; padding: 0px; border: 0px; left: 36px;">

但是一旦我销毁(假),我就会得到这个:

<table data-bind="if: details" id="ColorTable-sticky" class="tablesorter">

我原以为“tablesorter-bootstrap”类会保留在该类中,但似乎除“tablesorter”类之外的所有类都已删除。

如何让它保留 tablesorter-bootstrap 类?

【问题讨论】:

    标签: tablesorter


    【解决方案1】:

    destroy method 确实有参数:

    // Remove tablesorter and all classes but the "tablesorter" class on the table
    // callback is a function
    $("table").trigger("destroy", [false, callback]);
    

    如果您将false 作为第一个参数传递,则仍然会销毁所有内容,但会保留“tablesorter”类,包括主题名称(例如“tablesorter-blue”)。

    排序箭头也被移除。


    更新:哦,我猜“tablesorter-bootstrap”类已被删除,因为它是“uitheme”小部件的一部分。我会调查的。同时使用destroy回调函数恢复类名:

    $("table").trigger("destroy", [false, function(table){
        $(table).addClass('tablesorter-bootstrap');
    }]);
    

    更新 2:好的,没有按预期工作,您需要重新应用“uitheme”小部件,但由于 destroy 方法删除了 API,我将更新存储库中的 destroy 方法并拥有它在下一次更新中工作。

    【讨论】:

    • Thanx Mottie...我是否需要手动清除缓存映射以及回调函数中的“删除 table.config.cache”行?对于 7000 行表,假设缓存也可能非常大。
    • 嗯,是的,看起来你也需要清除缓存...我也会在下一次更新中解决这个问题!
    • 其实你可以直接删除整个表配置:delete table.config
    • 感谢 Mottie 的帮助并为我指明了正确的方向!在销毁了大部分 tablesorter 的缓存并删除了 knockoutjs 绑定后,我发现是不够的。罪魁祸首最终是我在 5 列 x 7000 行表的每个单元格内的小彩色图像。一旦我从某些列中删除了一些小彩色图像,phantomjs 就能够为我的大表生成漂亮的 PDF。再次感谢您的帮助!
    • tablesorter v2.16.0-beta 现已提供这些修复。
    猜你喜欢
    • 1970-01-01
    • 2016-12-20
    • 2011-10-16
    • 1970-01-01
    • 2011-06-23
    • 2018-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多