コア資産管理プロジェクトでは、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をインストールしてメモしておきます。うまくインストールできるか分かりませんが、試してみます...
win7 64 ビットで mysql-5.7.5-m15-winx64 をインストールして構成する方...
この記事では、ログイン認証コードを実装するためのvue+springbootの具体的なコードを例とし...
この記事では、ネイティブ JS によって実装された動的読み込みプログレス バーの特殊効果を紹介します...
序文私のように、Java バックエンドに勤勉な人であれば、多数のプロジェクト機能を実装することに加え...
しばらくReactを勉強した後、実践してみたいと思います。そこで、個人のブログのウェブサイトを再構築...
HTML5 では、ヘッダー、フッター、ナビゲーションなどのセマンティック タグが追加されているため...
1. コマンドの紹介gzip (GNU zip) コマンドは、ファイルの圧縮と解凍に使用されます。こ...
目次1. MySQL msiバージョンをダウンロードする2. インストール3. 環境変数を設定する1...
1. Docker Secretとは1. シナリオ表示MySQL サービスなど、一部のサービスではパ...
まず関数の自己呼び出しを知る必要がある関数の自己呼び出し - 自己呼び出し関数1 回限りの関数 - ...
今日は、開発でよく使われる、非常に便利な HTML タグをいくつかまとめてみたいと思います。これらの...
スタックフローからの回答:単に<br>だけで十分です。その他の形式は、XHTML との互...
インストールプロセス中に問題が発生しないように、まず依存パッケージをインストールします。 [root...
導入データベース理論についてさらに学んでいくうちに、さまざまな分離レベルによって起こり得る問題につい...