我如何使用 Dragula for Angular 2 使某些 div 元素不可拖动

How can i make certain div elements non draggable using Dragula for Angular 2

我已经能够将 ng2-dragula 成功地集成到我的项目中,但我仍然不知道如何制作一些 div non draggable

我尝试使用一些 css 和 html draggable="false" 作为 div 但没有成功。似乎无论我放什么,dragula 都会在之后插入它的指令并覆盖所有内容。也许我错了...

有人知道如何实现吗?

例如:

<div [dragula]="'group'">
    <div>1</div>
    <div>2</div>
    <div [dragula]="'group'">
        <div>3</div>
        <div class="donotdrag">4</div>
        <div>5</div>
    </div>
</div>

如何使 div 与 class donotdrag 不可拖动?

您可以使用 invalid 选项来做到这一点。

只需在组件构造函数中通过 dragulaService.setOptions 设置选项,例如:

dragulaService.setOptions('group', {
  invalid: (el, handle) => el.classList.contains('donotdrag')
});

Demo plunker