ホームページ  >  記事  >  ウェブフロントエンド  >  lauiui はテーブル内のすべてのデータをエクスポートします

lauiui はテーブル内のすべてのデータをエクスポートします

尚
転載
2019-11-18 17:12:599651ブラウズ

layui(同音異義語:UI風)は、独自のモジュール仕様で書かれたフロントエンドUIフレームワークで、ネイティブHTML/CSS/JSの書き方や構成形式に準拠しています。箱の。

lauiui はテーブル内のすべてのデータをエクスポートします

layui に付属のエクスポート テーブルでは、現在のページのみをエクスポートできます。現在のページにすべてのデータが含まれている場合は、すべてのデータをエクスポートすることになるので、エクスポート イベントには別のリクエストが定義されており、このリクエストがトリガーされると、バックグラウンドでデータをクエリするときに、受信したページと制限に従ってクエリを実行するのではなく、すべてをクエリすることで、すべてのデータのエクスポートが実現されます。

ページ コード:

<!--导出按钮 或其他触发事件-->
<button class="export">导出报表</button>

<!--导出表 不展示-->
<div style="display: none;">
    <table id="data_export">
    </table>
</div>
layui.use([&#39;form&#39;, &#39;table&#39;, &#39;layer&#39;], function () {
        var table = layui.table,
            form = layui.form,
            layer = layui.layer;
        //导出表格
        var ins1 = table.render({
            elem: &#39;#data_export&#39;,
            url: "url", //数据接口
            method: &#39;post&#39;,
            title: &#39;导出表的表名&#39;,
            where: {
                mycode: "all"
            },
            limit: 10,
            cols: [[
                {field: &#39;id&#39;, title: &#39;ID&#39;},
                {field: &#39;name&#39;, title: &#39;名称&#39;},
            ]],
            done: function (res, curr, count) {
                exportData = res.data;
            }
        });
        //导出按钮
        $(".export").click(function () {
            table.exportFile(ins1.config.id, exportData, &#39;xls&#39;);
        });
    })

バックグラウンド処理:

if ($mycode) {    $data = M(&#39;mysql&#39;)->where($where)->select();  
    echo json_encode([&#39;code&#39; => 0, &#39;msg&#39; => "", &#39;data&#39; => $data]);                     
}

最適化: 対応するコードは上記の 2 番目の JS コードです:

//导出改为单独的事件,每次点击导出才会执行
    $(".export").click(function(){
        var ins1=table.render({
            elem: &#39;#data_export&#39;,
            url: "url", //数据接口
            method: &#39;post&#39;,
            title: &#39;表名&#39;,
            where: {
                mycode: "all"
            },
            limit: 10,
            cols: [[
                {field: &#39;id&#39;, title: &#39;ID&#39;},
                {field: &#39;name&#39;, title: &#39;名字&#39;},
            ]],
            done: function (res, curr, count) {
                exportData=res.data;
                table.exportFile(ins1.config.id,exportData, &#39;xls&#39;);
            }
        });
    })

は実際には table です。あまり変更が無いように見えますが本質は変わっており、以前はページに入った時に非表示のエクスポートテーブルを読み込む方法でした。

これで、非表示のエクスポート テーブルは、エクスポートがクリックされた場合にのみレンダリングされます。エクスポート テーブルに多くのコンテンツが含まれている場合、ユーザーは、エクスポート速度が遅い方が妥当であり、ページの読み込みが遅いよりもはるかに優れていると考えるでしょう。スピード。

layui 関連の知識については、layui フレームワーク に注目してください。

以上がlauiui はテーブル内のすべてのデータをエクスポートしますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcnblogs.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。