我一直在尝试以某种嵌套级别实现拖放。
使用dragula版本1.5.0
here 是我到目前为止所做的 。
options = {
moves: (el, source,item, handle: Element) => {
return (handle.classList.contains('some-handle') );
}
};
this.dragulaService.setOptions("VAMPIRES", this.options);
在以上代码段中的中,some-handle
是parent的类名。上面的代码已将其禁用。
现在,如果您进入here,则在第一个组件[即班加罗尔]内,可以拖动所有项目[{my-subitem Bad Vamp 2!
,my-subitem Bad Vamp 1!
等]
我要实现的目标: ,即每个要解决的问题。 [即不可拖放到任何地方或不可从任何地方拖放]
我已经检查了以下答案:How to disable drag some element on ng2-dragula
但是使用它我可以阻止父项拖动[例如,班加罗尔,钦奈], 我如何阻止它使用它的孩子!
如果我要为每个放置单独的dragula组件,该如何管理其选项?这样就只能禁用拖动。那也只适用于我设置的第一个选项。和休息不起作用。 尝试像: app.component.ts
options = {
moves: (el, source,item, handle: Element) => {
return el.dataset && el.dataset.index != 0 ? true :false;
}
};
Object.keys(this.vampMD).forEach(i=>{
this.dragulaService.setOptions(i, this.options);
})