【发布时间】:2021-03-25 09:37:37
【问题描述】:
我正在尝试使一个新的部分/div/组件在放置操作时出现在放置区域中。
例如,我制作了两个 blazor 组件 <Calculator/> 和 <Counter />,它们应该放在 dropzone 的 div 中,具体取决于拖动哪个组件。到目前为止,我有两个可拖动的元素:
@page "/"
<!-- draggable items-->
<ul>
<li draggable="true" @ondragstart="OnDragStart">drag Counter</li>
<li draggable="true" @ondragstart="OnDragStart">drag Calculator</li>
...
</ul>
然后我有多个 div,其中包括 dropzone div。根据我将它放在哪个区域,应该在那里呈现新组件:
<!-- drop zones-->
<div class="bg-primary">
<div class="row one">Test</div>
<div dropzone="move" class="row space"
@ondrop="OnDrop" ondragover="event.preventDefault();"></div>
<div class="row two"></div>
<div dropzone="move1" class="row space"
@ondrop="OnDrop" ondragover="event.preventDefault();"></div>
<div class="row three">Test</div>
</div>
我的代码还没有做太多,只是表明正在发生什么动作:
<div>@DragStatus</div>
@code {
public string DragStatus = "test...";
public void OnDragStart()
{
DragStatus = "started";
}
public void OnDrop()
{
DragStatus = "dropped";
}
}
如何指示两个元素中的哪一个被占用/拖动?
【问题讨论】:
标签: c# drag-and-drop blazor webassembly .net-5