【发布时间】:2016-04-22 14:58:09
【问题描述】:
如果列表中有一个过滤器正在被 Angular 重复,那么 UI 可排序 (https://github.com/angular-ui/ui-sortable) 插件似乎无法正常播放。拖放无法按预期工作。
这由这两个小提琴显示:
首先:有过滤器 - 拖放不会留在原地。
http://jsfiddle.net/Lvc0u55v/2886/
HTML:
<div ng-controller="Controller">
<ul ui-sortable="sortableOptions" id="test" ng-model="items">
<li class="line" ng-repeat="item in items | filter: myFilter">
{{item.name}}
</li>
</ul>
</div>
JS:
var myApp = angular.module('myApp',['ui.sortable']);
myApp.controller('Controller', ['$scope', function($scope) {
$scope.name = 'Superhero';
$scope.items = [
{name: 'TEST'},
{name: 'TEST2'},
{name: 'TEST3'},
{name: 'TEST4'},
{name: 'TEST5'},
{name: 'TEST6'},
{name: 'TEST7'},
{name: 'TEST8'}
]
$scope.myFilter = function (item) {
return item.name !== 'TEST';
};
$scope.sortableOptions = {
opacity: '0.8',
axis: 'y',
tolerance: 'pointer',
}
}]);
第二:没有过滤器 - 按预期工作。
JS 相同,
HTML:
<div ng-controller="Controller">
<ul ui-sortable="sortableOptions" id="test" ng-model="items">
<li class="line" ng-repeat="item in items">
{{item.name}}
</li>
</ul>
</div>
http://jsfiddle.net/Lvc0u55v/2887/
我也会在他们的 github 存储库上创建一个问题,但如果有人能解决这个问题,那就太好了!
【问题讨论】:
标签: javascript jquery angularjs jquery-ui