2016-12-14 3 views
1

トップに名前のグループを表示し、ドラッグイベントをキャンセルしたいとします。 このグループ名が上に表示されているように、要素の移動を無効にする方法を教えてください。 私のコードは次のとおりです。ng2-dragulaでいくつかの要素をドラッグする方法を無効にする

dragulaService.drag.subscribe((value) => { 
     console.log(`drag: ${value[0]}`); 
    }); 

マイテンプレート:

dragulaService.setOptions('nested-bag', { 
     revertOnSpill: true, 
     moves: function (el:any, container:any, handle:any):any { 
     debugger 
     console.log(el, container); 
     return false; 
     } 
    }); 

答えて

6

は解決策を見つける

dragulaService.setOptions('PUT_CONTAINER_NAME_HERE', { 
    moves: function (el: any, container: any, handle: any): any { 
     if (el.classList.contains('PUT_YOUR_CLASS_HERE')) { 
      return false; 
     } 

     return true; 
    } 
}); 
+0

良い答えを! !実行時にドラッグを無効にするにはどうすればよいですか?例:いくつかの条件に基づいていますか?バッグのリストを取得する方法はありますか? –

+0

move関数は、true/falseを返す関数に基づいた条件です。 –

0

特定のクラスを持つ要素をドラッグ無効にするには:

<div class='wrapper'> 
    <div class='container' *ngFor='let group of groups' [dragula]='"nested-bag"'> 
    <div class="center-block">Table Number : {{group.name}}</div> 
    <div *ngFor='let item of group.items' [innerHtml]='item.name'></div> 
    </div> 
</div> 
関連する問題