今日はテーブルソートについて話しましょう。プレビューをさせてください。その目的は、フロントエンドのソートとサーバーのソートを区別することです。現在のテーブル ページングは実際には非常に「乱雑」です。しばらくの間それを使用している学生、特にそうしている学生は多いと思います。サーバーのソートを行うと、ある程度この現象が発生する異常な状況です。
推奨事項: layui チュートリアル
まず、layui に付属する並べ替えの効果を見てみましょう。辞書による中国語の並べ替えは、この議論の焦点ではありません。整数が負の場合と 0 が現れる場合があります。
では、負の数と 0 を判断するロジックが正しくなるように、sort のロジックを調整できますか?実際、これはこの議論の焦点ではありません。
ポイントは、サーバーのソートです。実際、ほとんどのテーブルのソートは、単一ページの単純なソートではなく、バックグラウンドでソートするためにバックグラウンドに条件が渡されます。ソートを監視してからリロードし、条件を渡すことですが、これらはすべて問題なく、ロジックは問題ありません。
しかし、実際の効果はどうなのでしょうか?現在のテーブルではフォアグラウンド ソートとサーバー ソートが区別されていないため、データを受信してテーブルをレンダリングした後、initSort があると判断され、データが再度ソートされて表示されます。これは非常に深刻な問題です。
明らかにサーバーによってソートされているのに、なぜ js で再度ソートする必要があるのでしょうか? さらに真剣に考えれば、ソートの結果がバックグラウンドのソート ルールの結果と一致していることを確認できるでしょうか?どのような保証がありますか?
リロードを監視し、負の数
コード:
効果
前のものと違いがないと思われるかもしれませんが、並べ替えはまだ間違っています。例外です。場所です。シミュレーションによって返されたデータの構造を見てください。
元のデータ:
シミュレートされたインターフェイスによって返されたデータ:
これは、この戻り後は明らかです 表示効果が実際のデータの順序と一致しません 理由は上記の通りです 実際にバックグラウンドでソートが行われている場合でも、レンダリング時にフロントエンドでのソートを行う必要があり、これは余分に相当します処理。実際、サーバーのソートによって返されるデータを定義すると、それが表示される順序になります。
このロジックを並べ替えるのにフロントエンドの並べ替えを使用してはなりません。そうでない場合、バックエンドの並べ替えの意味と、ロジックがバックエンドと一貫していることを確認する方法は何ですか。一貫性がある場合は、 、よく言っても無駄な努力ですが、一貫性が保証できない場合、これは大きな事故です。
解決策: フォアグラウンドで並べ替えるかサーバーで並べ替えるかを決定する構成項目をユーザーに提供します。次のように変更します。
変更が必要な元のコード領域
変更後の該当領域のコード:
テストテーブルはレンダリング時に追加されたsortTypeの設定です#最後にsortの監視
#最終的な効果
#完全なテスト コードと table.js の対応する変更アドレス: https://pan.baidu.com/s/1OjwwVmjy02wRQ0rT1euLlQ
以上がLauiui のソートテーブルの紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。