情况:
大家好。在我的应用程序中,我有一个显示在表格内的项目列表。
我正在使用angular-dragdrop能够将这些项目拖到垃圾箱并删除它们。
一切正常:在我将项目放在垃圾箱上后,该功能被触发并且项目被删除。
但是有一个问题:在删除项目后,项目列表会被刷新。但是发生的事情是一个项目仍在放置区域中。并且由于已删除的项目不是列表的一部分,因此以下项目将取代它..
此项目应显示在列表中,而不是在放置区域上方..
编码:
<tr ng-repeat="item in list_items track by $index">
<td>
<span data-drag="true" data-jqyoui-options="{revert: 'invalid'}" jqyoui-draggable="{index: {{$index}}, onStart:'set_item_id_to_drag({mail_id: email.mail_id})'}">
<a > {{item.name}} </a>
</span>
</td>
</tr>
<span data-drop="true" data-jqyoui-options jqyoui-droppable="{onDrop:'email_dragged_delete()'}">
BIN
</span>
$scope.email_dragged_delete = function( event, ui )
{
var item_id = $rootScope.item_id_to_drag.item_id;
$http({
url: base_url + 'api/item_delete',
data: { item_id: item_id },
method: "POST",
}).success(function (data) {
delete $rootScope.email_id_to_drag;
var result = ItemsService.list_items( $stateParams.mail_account_id );
result.then( function( data ) {
$rootScope.list_items = data;
});
});
}
$scope.set_item_id_to_drag = function( event, ui, item_id )
{
$rootScope.item_id_to_drag = item_id;
}
问题:
是否可以在拖动元素并触发事件后清空放置区域? 所以要避免列表中的另一个元素取代它的位置?
非常感谢!