コア資産管理プロジェクトでは、el-transfer にドラッグ アンド ドロップによる並べ替えと、左、右、上、下のドラッグ アンド ドロップ機能を追加する必要があります。 最初のインストール sudo npm i sortablejs --save-dev HTMLコード <テンプレート> <el-transfer ref="転送" id="転送" v-model="値" :data="データ"> <span slot-scope="{ option }" :draggable="!option.disabled" @dragstart="drag($event,option)">{{ option.key }} - {{ option.label }}</span> </el-transfer> </テンプレート>``` 作成する <スクリプト> 'sortablejs' から Sortable をインポートします。 エクスポートデフォルト{ データ() { const 生成データ = _ => { constデータ = []; for (let i = 1; i <= 15; i++) { データ.push({ キー: i, ラベル: `オプション ${i}`, 無効: i % 4 === 0 }); } データを返します。 }; 戻る { データ: generateData(), 値: [1, 4], ドラッグキー: null } }, マウント() { const 転送 = this.$refs.transfer.$el const leftPanel = transfer.getElementsByClassName("el-transfer-panel")[0].getElementsByClassName("el-transfer-panel__body")[0]; const rightPanel = transfer.getElementsByClassName("el-transfer-panel")[1].getElementsByClassName("el-transfer-panel__body")[0]; 定数 rightEl = rightPanel.getElementsByClassName("el-transfer-panel__list")[0] ソート可能.create(rightEl,{ onEnd: (イベント) => { const {古いインデックス、新しいインデックス} = evt; const temp = this.value[古いインデックス] if (!temp || temp === 'undefined') { 戻る }// 右端の最後の項目を右から左にドラッグしたときに undefined になる問題を解決します this.$set(this.value,oldIndex,this.value[newIndex]) this.$set(this.value,newIndex,temp) } }) const leftEl = leftPanel.getElementsByClassName("el-transfer-panel__list")[0] ソート可能.create(leftEl,{ onEnd: (イベント) => { const {古いインデックス、新しいインデックス} = evt; const temp = this.data[古いインデックス] if (!temp || temp === 'undefined') { 戻る } // 右端の最後の項目を右から左にドラッグしたときに undefined になる問題を解決します this.$set(this.data,oldIndex,this.data[newIndex]) this.$set(this.data,newIndex,temp) } }) 左パネル.ondragover = (ev) => { ev.preventDefault() } 左パネル.ondrop = (ev) => { ev.preventDefault(); const index = this.value.indexOf(this.draggingKey) if(index !== -1){ this.value.splice(index,1) } } rightPanel.ondragover = (ev) => { ev.preventDefault() } rightPanel.ondrop = (ev) => { ev.preventDefault(); if(this.value.indexOf(this.draggingKey) === -1){ this.value.push(this.draggingKey) } } }, メソッド: { ドラッグ(ev,option) { this.draggingKey = option.key } } } </スクリプト> これで、vue 要素 el-transfer にドラッグ アンド ドロップ機能を追加する方法についての記事は終了です。要素 el-transfer ドラッグ アンド ドロップに関するその他の関連コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: uniAppエディタWeChatスライド問題について
>>: ショッピングカートのスライド削除効果を実装するReactネイティブサンプルコード
ゲームのソースコードのダウンロードアドレスを取得するためのJavaScript:クリックしてソースコ...
find コマンドは主にディレクトリやファイルを検索するために使用され、一致のために複数のパラメータ...
Redisの本やSpring Cloud Alibabaの本を執筆した際に、一部の分散コンポーネント...
表は以下のとおりです。 Unity が読み取って呼び出すときのコード: データベース内の別のテーブル...
vueプロジェクトでは、アップロードした画像に透かしを追加して参照できるようにするアップグレード版...
1. フォワードプロキシとリバースプロキシの違いフォワード プロキシはクライアントのプロキシとして機...
状況の説明: データベースが異常に起動およびシャットダウンしたため、サービスを再度起動したときに「起...
目次1. ループオブジェクト内の値2. ループオブジェクト3. キーと値のループ1. ループオブジェ...
MYSQL 5.6 スレーブレプリケーションの展開と監視MYSQL 5.6 のインストールと展開 #...
1. vue-cli がプロジェクト パッケージを作成した後にページが空白になる問題の解決方法コマン...
Docker は、あらゆるアプリケーション用の軽量でポータブルな自己完結型コンテナーを簡単に作成で...
1. 要件Vue.js フレームワークを使用してフロントエンド プロジェクトを開発する場合、サーバ...
JavaScript での HTML (選択オプション) の詳細な説明1. 基本的な理解:コードをコ...
目次1. コンポーネントの登録2. コンポーネントの使用3. 父から息子へ4. 息子から父へ5. ス...
テスターとして、学習プロセス中に Linux でソフトウェアをインストールする必要が頻繁にある場合が...