uni-app+sortable.js はドラッグ アンド ドロップの並べ替えをどのように実装しますか?ステップ共有
Uni-App でドラッグ アンド ドロップの並べ替えを実装するにはどうすればよいですか?以下の記事では、sortable.jsを使ってuni-appでドラッグ&ドロップソートを実装する方法を紹介しますので、ご参考になれば幸いです。
ユニアプリのドラッグ アンド ドロップによる並べ替え
序文
これを作成しますページ上には文字ソート機能があり、手動でドラッグしてソート位置を変更できます。検索した結果、このドラッグ アンド ドロップ機能を実装するために使用できる
sortable.js を見つけました。
感想
sortable.js
の公式ドキュメントを見ていると、 onUpdate 内の
イベントでは、ドラッグして位置を変更した後、戻り値に開始インデックス値と変更後のインデックス値が含まれており、これにより配列の内容を変更して、ドラッグ後に位置を変更する機能を実現できます。 。
#手順
インストールsortable.js#
npm install sortablejs --save-dev
ここで取得したノードは、リストにドラッグする必要がある親ノードです
let uls = document.getElementById('list')ノードの読み込み
new Sortable(uls,{})
TriggeronUpdate<span style="font-size: 18px;"></span>Event
というのも、その過程で次のことが分かりました。 domノードの位置を利用して操作すると項目の順序を変更する際にバグが発生するので情報を探した結果、
を使用することで問題を発見しました。項目の順序に従って、最初に対応するノードを変更する必要があります。
ノードの変更最初に移動したノードを削除してから、移動したノードを元のノードに挿入します
newLi = uls.children[newIndex], //移动节点 oldLi = uls.children[oldIndex]; //原有节点 uls.removeChild(newLi) // 删除移动的节点 uls.insertBefore(newLi, oldLi) // 将移动节点插入到原有节点中
注: ドラッグするときから変更するときは上下に移動すると、ノードが 1 つ追加されるため、元のインデックス値は 1 つ減ります。
newIndex の場合、oldLi
ノードの次のノードが使用されます。 <pre class='brush:php;toolbar:false;'>uls.insertBefore(newLi, oldLi.nextSibling)</pre>
配列を変更します元の配列を削除してデータを保存します
let item = _this.items.splice(oldIndex, 1)
残りの配列インデックス値にデータを追加します
_this.items.splice(newIndex, 0, item[0])完全なコード
let uls = document.getElementById('list')
new Sortable(uls, {
onUpdate: function (event) {
//获得基础数据
let newIndex = event.newIndex,
oldIndex = event.oldIndex,
newLi = uls.children[newIndex],
oldLi = uls.children[oldIndex];
// 删除原有节点
uls.removeChild(newLi)
// 将移动的节点插入原有节点中
if (newIndex > oldIndex) {
uls.insertBefore(newLi, oldLi)
} else {
uls.insertBefore(newLi, oldLi.nextSibling)
}
// 修改数组
let item = _this.items.splice(oldIndex, 1)
_this.items.splice(newIndex, 0, item[0])
},
推奨: 「
uniappチュートリアル以上がuni-app+sortable.js はドラッグ アンド ドロップの並べ替えをどのように実装しますか?ステップ共有の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

この記事では、モバイルプラットフォームとWebプラットフォームのデバッグ戦略について説明し、Android Studio、Xcode、Chrome Devtoolsなどのツールを強調し、OSとパフォーマンスの最適化全体で一貫した結果を得るためのテクニックについて説明します。

この記事では、Hbuilderx、Wechat開発者ツール、Chrome Devtoolsなどのツールに焦点を当てたUniapp開発のためのデバッグツールとベストプラクティスについて説明します。

この記事では、複数のプラットフォームにわたるUNIAPPアプリケーションのエンドツーエンドテストについて説明します。テストシナリオの定義、Appiumやサイプレスなどのツールの選択、環境のセットアップ、テストの書き込みと実行、結果の分析、インテグラートをカバーします

この記事では、ユニット、統合、機能、UI/UX、パフォーマンス、クロスプラットフォーム、セキュリティテストなど、UNIAPPアプリケーションのさまざまなテストタイプについて説明します。また、クロスプラットフォームの互換性を確保し、JESのようなツールを推奨しています

この記事では、過剰なグローバルデータの使用や非効率的なデータバインディングなど、UNIAPP開発における一般的なパフォーマンスアンチパターンについて説明し、これらの問題を特定して緩和してアプリのパフォーマンスを向上させる戦略を提供します。

この記事では、プロファイリングツールを使用して、Uniappのパフォーマンスボトルネックを識別および解決し、セットアップ、データ分析、最適化に焦点を当てています。

この記事では、Uniappでネットワーク要求を最適化するための戦略について説明し、遅延の削減、キャッシュの実装、および監視ツールを使用してアプリケーションのパフォーマンスを向上させることに焦点を当てています。

この記事では、圧縮、レスポンシブデザイン、怠zyなロード、キャッシング、およびWebP形式の使用を通じて、Webパフォーマンスを向上させるために、Uniappの画像の最適化について説明します。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

Dreamweaver Mac版
ビジュアル Web 開発ツール

メモ帳++7.3.1
使いやすく無料のコードエディター

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

ドリームウィーバー CS6
ビジュアル Web 開発ツール

ホットトピック









