2017-09-21 9 views
0

ページ内にテーブルとグリッドコンポーネントがあるEmberアプリケーションがあります。ドラッグ&ドロップ機能を有効にして、テーブルの特定のセルから値をドラッグし、グリッドの空きスペースにドロップします。テーブルに複数の列があるので、インデックス位置を取得するか、またはどの列のセルがドラッグされているかを知りたい。コントローラー内の列のインデックス値が必要です。emberコントローラ内でテーブル属性またはプロパティ値を取得

テーブルに3列の3行があるとします。ドラッグされている最初の列内のすべての要素について、2番目と3番目の列について同様にインデックス値を1としたい。あなたは私が略称属性を指定して、テーブルTDタグwihtin見ることができるようにここで

は、テーブルのための私の.hbsコード

<table class = "table table-bordered"> 
     <thead> 
      <tr> 
       <th colspan="6">Inbound Units</th> 
      </tr> 
     </thead> 
     <tbody> 
      {{#each currentbid as |currentbid|}} 
       <tr> 
       {{#each pull as |pull|}} 
         {{#if (eq pull.DRIVERNAME currentbid.DRIVERNAME)}} 
         <td abbr="P1">{{#draggable-object content=pull position=1 dragEndAction='dragEndAction'}}{{#draggable-object-target action="draganddrop"}}{{pull.P1}}{{/draggable-object-target}}{{/draggable-object}}</td> 
         <td>{{pull.P2}}</td> 
         <td>{{pull.P3}}</td> 
         <td>{{pull.P4}}</td> 
         {{/if}} 
         {{/each}} 
          </tr> 
      {{/each}} 
     </tbody> 
    </table> 

です。しかし、私はどのようにコントローラ内でabbrの価値を得るか分かりません。これを得る他の方法も良いです。

ありがとうございます!

答えて

0

この回答はEmber 2.x.xに適用され、2.15で書かれています。デフォルトでは

、閉鎖を経由して特定のイベントに割り当てられたアクション、ondragEnd={{action "someAction"}}は、引数としてイベントターゲットを受け取るように:

actions: { 
    someAction(event) { 
    console.log(event.target) 
    } 
} 

おそらく、あなたはその後、送信、クラス名を取得するには、あなたのコンポーネントでevent.target.parentElement.classNameを使用することができますコントローラへのアクションと引数セレクタが古いものではなく新しい親を返すことを願っています。

Ember Guidesでブラウザイベントを捕捉するさまざまな方法について読むことができます。

関連する問題