質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

Q&A

0回答

745閲覧

vue.jsのdraggableの実装

riddle

総合スコア12

Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

0グッド

0クリップ

投稿2020/09/15 11:36

前提・実現したいこと

Reffect様を参考にローカル環境(wamp)にてvue.jsでdraggableを実装しようとしています。

発生している問題・エラーメッセージ

dragstartイベントが発生しません。 該当のタグtrにはdraggable="true"と表示されておりますが、dragstartイベントの中にconsole.logをしかけても反応しません・・・

該当のソースコード

HTML

1<!doctype html> 2<html lang="ja"> 3<head> 4<meta charset="UTF-8"> 5<meta name="viewport" content="width=device-width, initial-scale=1.0"> 6<title>drag_drop_table</title> 7<link href="css/bootstrap.min.css" rel="stylesheet" type="text/css"> 8<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> 9<script type="text/javascript" src="js/axios.min.js" defer="defer"></script> 10<script type="text/javascript" src="js/drag_drop_table_test.js" defer="defer"></script></head><body> 11 12 <div id="app" class="container mt-5"> 13 <h1>{{ message }}</h1> 14 <table class="table table-striped table-bordered"> 15 <thead> 16 <tr class="thead-dark"> 17 <th>ID</th><th>NAME</th><th>EMAIL</th> 18 </tr> 19 </thead> 20 <tbody> 21 <tr draggable @dragstart="dragList($event, index)" is="tbldts-table" v-for="(tbldt,index) in tbldts" v-bind:tbldt="tbldt" v-bind:key="tbldt.id" v-bind:index="index"></tr> 22 </tbody> 23 </table> 24 </div> 25 26</body> 27</html>

JS

1Vue.component('tbldts-table',{ 2 template : `<tr><td>{{ tbldt.id }}</td> 3 <td>{{ tbldt.name }}</td> 4 <td>{{ tbldt.email }}</td> 5 </tr>`, 6 props : ['tbldt','index'], 7}); 8 9const app = new Vue({ 10 11 el: "#app", 12 data: { 13 14 message: 'HTML Drag&Drop in vue.js page', 15 tbldts : [], 16 17 }, 18 mounted: function(){ 19 axios.get("./db.php").then(response => this.tbldts = response.data); 20 }, 21 methods:{ 22 dragList(event, listIndex){ 23 console.log(listIndex) 24 } 25} 26})

補足1

axiosにて連想配列取得後、テーブル描画まではうまくいっております。
DBから値を取得し、リスト形式でループさせ表示がさせたくこのような形になっております。
(もっと良い方法があればぜひご教授ください(T_T))

補足2

vue.js は2.6.12です。
Reffect様の完成コードをHTMLにはりつけ表示した場合、普通に機能として動きますので私の認識間違いやそもそもの構成間違いが原因だろうとは思いますが一日悩んでも解決できませんでした・・・

ぜひお力添え頂けますよう宜しくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問