Heim  >  Artikel  >  Web-Frontend  >  Laui exportiert alle Daten in der Tabelle

Laui exportiert alle Daten in der Tabelle

尚
nach vorne
2019-11-18 17:12:599588Durchsuche

layui (homophon: UI-like) ist ein Front-End-UI-Framework, das mit seinen eigenen Modulspezifikationen geschrieben wurde. Es folgt der Schreib- und Organisationsform von nativem HTML/CSS/JS. Der Schwellenwert ist extrem niedrig und kann verwendet werden der Box.

Laui exportiert alle Daten in der Tabelle

Die mit Laui gelieferte Exporttabelle kann nur die aktuelle Seite exportieren. Wenn die aktuelle Seite alle Daten enthält, bedeutet dies, dass alle Daten exportiert werden Beim Exportereignis wird eine separate Anforderung definiert. Wenn Daten im Hintergrund abgefragt werden, werden nicht die empfangenen Seiten und das Limit abgefragt, sondern alle werden abgefragt, wodurch der Export aller Daten realisiert wird.

Seitencode:

<!--导出按钮 或其他触发事件-->
<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;);
        });
    })

Hintergrundverarbeitung:

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

Optimierung: Der entsprechende Code ist der zweite js-Code oben:

//导出改为单独的事件,每次点击导出才会执行
    $(".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;);
            }
        });
    })

ist eigentlich die Tabelle. exportFile(ins1.config.id,exportData, 'xls'); wird in done platziert. Obwohl es anscheinend nicht viele Änderungen gibt, hat sich das Wesentliche geändert. Die vorherige Methode bestand darin, die ausgeblendete Exporttabelle zu laden.

Jetzt wird die ausgeblendete Exporttabelle nur gerendert, wenn auf „Exportieren“ geklickt wird. Wenn die Exporttabelle viel Inhalt enthält, denken Benutzer, dass eine langsamere Exportgeschwindigkeit sinnvoll und viel besser ist als eine langsame Seitenladegeschwindigkeit .

Weitere Informationen zu Lauii finden Sie im Layui-Framework.

Das obige ist der detaillierte Inhalt vonLaui exportiert alle Daten in der Tabelle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen
Vorheriger Artikel:Gängige Laui-MethodenNächster Artikel:Gängige Laui-Methoden