コア資産管理プロジェクトでは、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ネイティブサンプルコード
MySQL では、char、varchar、text の各タイプのフィールドはすべて文字タイプのデー...
このプロジェクトでは、Vue+Router+Element の具体的なコードを共有して、シンプルなナ...
InnoDB ストレージ エンジンの主な機能には、挿入バッファ、二重書き込み、適応ハッシュインデック...
以下は、Flex レイアウトを使用した棒グラフです。 HTML: <div class=&qu...
目次イベントページの読み込みイベント委任イベントの切り替えイベント要約するイベントページの読み込み1...
HTML でアンカーの位置を設定する方法はいくつかあるので、ここで紹介します。 1. ID ポジショ...
目次1. シナリオの説明: 2. 事例のデモンストレーション: 2.1. MySQLの障害発生前にデ...
目次落とし穴充填方法何の穴ですか?要約する落とし穴最近、仕事で商品の割引価格を計算すると、いつも1セ...
この記事では、MySQLのダウンロードとインストールの詳細なチュートリアルを記載しています。具体的な...
この記事では、VMware Toolsのインストールと構成に関するグラフィックチュートリアルを参考と...
YSlow は、Yahoo USA が開発したページ スコアリング プラグインです。非常に優れていま...
この記事では、従業員管理登録ページを実装するためのjQueryの具体的なコードを例として紹介します。...
mysql 5.7.19 winx64解凍版のインストールチュートリアルを収録しました。具体的な内容...
これら 16 のサイトはそれぞれ注意深く読む価値があり、どのサイトでも推奨されている Web サイト...
目次概要ファイル記述子同期、非同期、Promise同期書き込み非同期書き込み(推奨)約束の書き方...