コア資産管理プロジェクトでは、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ネイティブサンプルコード
<br />一般的に、「標準的な Web ページ」のファイル構成は XHTML CSS ...
1. 説明前回は、MySQL のインストールと構成、MySQL ステートメントの使用、MySQL デ...
この記事では、参考までにMySQLの無料インストール構成チュートリアルを紹介します。具体的な内容は次...
複雑な表を作成するには HTML を使用します。複雑なテーブルでは通常、td の rowspan 属...
序文この記事では、docker-compose の構成をいくつか紹介します。これらを参考にして、独自...
Ethereum 上で DApps を開発したことがある場合は、フロントエンド JavaScript...
この記事では、bootstrapテーブルの使い方を参考までに紹介します。具体的な内容は次のとおりです...
目次環境: 1. Dockerはリモート接続アクセスを可能にするidea dockerプラグインをイ...
Flexの基本概念フレックス レイアウト (フレックスはフレキシブル ボックスの略)、エラスティック...
目次背景:必要:効果1. アイデア2. 実装1. ページとスタイル2. 初期化3. クリックすると4...
この記事では、参考までにシンプルなHTMLショッピング数量アプレットを紹介します。具体的な内容は次の...
まず最初に、適切なブラウザを選択します。私が Chrome を選択したのは、その強力なデバッグ ツー...
計算されたプロパティ場合によっては、テンプレートにロジックを詰め込みすぎると、テンプレートが重くなり...
設計意図ページを開発する際には、ページ上のナビゲーション メニューをクリックしたときにページを対応す...
目次1. はじめに2. 解決策2.1 ファイアウォールを設定してポートを開く2.3 ポートを確認し、...