允许在 cdkDropList 中水平定位
Allow horizontal positioning in cdkDropList
在我的应用程序中,我有多个行,在这些行中是可以在行之间拖动的“块”,效果很好。
但是,除了在行之间拖动之外,我还希望能够自由地水平放置它们。
添加 cdkDropListGroup
和 cdkDroplist
时,所有元素自动左对齐。
例如;我希望蓝色“块”从紫色“块”开始,使用 cdkDragDrop
.
根据 documentation 你问的可以不使用 cdkDropListGroup
.
相反,您应该使用 cdkDrag
和 [cdkDragFreeDragPosition]
。
[cdkDragFreeDragPosition]
接收类型为 {x: number, y: number}
的对象。这些将决定块将出现在元素中的什么位置。
根据您的实现,您可以简单地逐个渲染元素,并创建一个函数,该函数为每个元素 returns x
和 y
变量。或者,您可以创建一个包含所有默认放置值的数组。
附带说明一下,您似乎希望 cdkDropListGroup
和 cdkDropList
指令中的列表组织 属性 同时能够设置自定义起始位置。
当前指令无法做到这一点。 cdkDropList
不接受 [cdkDragFreeDragPosition]
输入,因此您无法自行设置 x 轴上的位置。
您需要开发一个自定义指令以允许这种情况发生。
亲切的问候。
不幸的是,使用 cdkDropListGroup
无法做到这一点。 documentation 明确指出元素不能在 cdkDropList
.
中自由拖动
When outside of a cdkDropList element, draggable elements can be freely moved around the page.
您可以使用 cdkDragFreeDragPosition
设置初始值并使用 (cdkDragEnded)
事件将对象对齐到网格。
在我的应用程序中,我有多个行,在这些行中是可以在行之间拖动的“块”,效果很好。
但是,除了在行之间拖动之外,我还希望能够自由地水平放置它们。
添加 cdkDropListGroup
和 cdkDroplist
时,所有元素自动左对齐。
例如;我希望蓝色“块”从紫色“块”开始,使用 cdkDragDrop
.
根据 documentation 你问的可以不使用 cdkDropListGroup
.
相反,您应该使用 cdkDrag
和 [cdkDragFreeDragPosition]
。
[cdkDragFreeDragPosition]
接收类型为 {x: number, y: number}
的对象。这些将决定块将出现在元素中的什么位置。
根据您的实现,您可以简单地逐个渲染元素,并创建一个函数,该函数为每个元素 returns x
和 y
变量。或者,您可以创建一个包含所有默认放置值的数组。
附带说明一下,您似乎希望 cdkDropListGroup
和 cdkDropList
指令中的列表组织 属性 同时能够设置自定义起始位置。
当前指令无法做到这一点。 cdkDropList
不接受 [cdkDragFreeDragPosition]
输入,因此您无法自行设置 x 轴上的位置。
您需要开发一个自定义指令以允许这种情况发生。
亲切的问候。
不幸的是,使用 cdkDropListGroup
无法做到这一点。 documentation 明确指出元素不能在 cdkDropList
.
When outside of a cdkDropList element, draggable elements can be freely moved around the page.
您可以使用 cdkDragFreeDragPosition
设置初始值并使用 (cdkDragEnded)
事件将对象对齐到网格。