前提・実現したいこと
Ruby on Railsを使ったアプリの中で、Vue.Draggableを使ってtableの行のドラッグアンドドロップをしたいです。
作業環境
ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-darwin18] Rails 5.0.7.2
vueはvuejs-rails (2.5.13)というgemでRailsに導入しています。
また、Vue.DraggableはCDNで導入しています。
<!-- CDNJS :: Sortable (https://cdnjs.com/) --> <script src="//cdn.jsdelivr.net/npm/sortablejs@1.8.4/Sortable.min.js"></script> <!-- CDNJS :: Vue.Draggable (https://cdnjs.com/) --> <script src="//cdnjs.cloudflare.com/ajax/libs/Vue.Draggable/2.20.0/vuedraggable.umd.min.js"></script>
実現したいデモ
https://sortablejs.github.io/Vue.Draggable/#/table-example
試したこと
まずはスモールステップとして、li要素の並び替えからトライしてみました。(bootstrapを導入しています。)
hoge.rb
↓
hogerb
1#app 2 .container-fluid.mb-4.ml-4.py-4.border.w-50 3 ul 4 draggable 5 li haha 6 li hiha 7 li foooo 8 li ah-hun
hoge.js
↓
hogejs
1var app = new Vue({ 2 el: "#app" 3});
こちらは正常に動作し、li要素を上下に入れ替える事ができました。
問題があるのは次の表のドラッグアンドドロップです。
huga.rb
↓
hugarb
1#app 2 .container-fluid.mb-4.ml-4.py-4.border.w-50 3 table.table.border 4 thead 5 tr 6 th ID 7 th 名前 8 th 学年 9 draggable 10 tr 11 td 1 12 td Han 13 td G1 14 tr 15 td 2 16 td Kin 17 td G2 18 tr 19 td 3 20 td Foo 21 td G1 22 tr 23 td 4 24 td Alice 25 td G3
huga.js
↓
hugajs
1var app = new Vue({ 2 el: "#app" 3});
cocsole.logなどでファイルが読み込まれているのは確認済みです。
並び替えたいtr要素の上にdraggableが設定できているので、これで動いてほしいのですが…
試したこと
Vue.Draggable公式のサンプルコードを真似しようとしてみましたが、結果的にうまく行っていません…
おそらく記法に問題があると思うのですが、原因がわかっていません。
公式のサンプルコードは.vue
という単一ファイルコンポーネントを使って書いている一方で、私のコードは.rb
と.js
ファイルに分けて書いています。
なにかわかる方がいらっしゃいましたら、ご教授お願いしますm(_ _)m

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/26 04:21
2019/08/26 06:51 編集