Javascript AngularJS-ngRepeat排序更改数组长度
JSFIDLE: 由于某些原因,当我更改ng重复列表的排序选项时,数组的长度会更改,并且在本地副本中,所有项都会被删除 我使用了过滤器/排序的组合,包括一个选项,通过链接到“showLeavers”$filter指令的复选框选择来过滤具有完整“leaveDate”属性的入/出员工 在“我的本地副本”中,如果未选中复选框,并且选择了第二个或第三个排序选项,则会清除阵列,因此ng repeat列表中不会显示任何内容,但如果选中复选框,或者选择了第一个或第四个排序选项,则列表会按其应有的方式显示 显然,代码中存在一个问题(我猜是filter指令),因为我可以演示类似于上面JSFIDLE中的内容Javascript AngularJS-ngRepeat排序更改数组长度,javascript,arrays,angularjs,sorting,angularjs-material,Javascript,Arrays,Angularjs,Sorting,Angularjs Material,JSFIDLE: 由于某些原因,当我更改ng重复列表的排序选项时,数组的长度会更改,并且在本地副本中,所有项都会被删除 我使用了过滤器/排序的组合,包括一个选项,通过链接到“showLeavers”$filter指令的复选框选择来过滤具有完整“leaveDate”属性的入/出员工 在“我的本地副本”中,如果未选中复选框,并且选择了第二个或第三个排序选项,则会清除阵列,因此ng repeat列表中不会显示任何内容,但如果选中复选框,或者选择了第一个或第四个排序选项,则列表会按其应有的方式显示 显然
HTML: 您需要更改,需要提供元素的索引,以及要拼接的元素数量:
matches.splice(matches.indexOf(value), 1);
或者,您可以这样使用:
var matches = employees.filter(match => match.leaveDate.length <= 0 || showLeaver);
var matches=employees.filter(match=>match.leaveDate.length-Perfect,在我的本地版本中用第一行修复了它(使用该行是因为我实际上了解它的功能)
matches.splice(matches.indexOf(value), 1);
var matches = employees.filter(match => match.leaveDate.length <= 0 || showLeaver);