知识点:
从ES6数组中删除指定的元素
findIndex ()方法返回数组中满足指定测试函数的第一个元素的索引。 否则返回-1。 arr.splice (arr.findindex (item=item.id==data.id ),1 ) http://Louis Zhai.github.io/2017/04/28/arra ababb
1:js的splice方法
slice (索引,len,[item] )注释:此方法更改原始数组。
splice有三个参数,也可以用于替换、删除和添加数组中的一个或多个值
索引:数组开始下标len:替换/删除长度item:替换的值,删除操作时item为空
例如,arr=['a '、' b '、' c '、' d']
删除 ---- item不设置
arr.splice (1,1 )//['a ',' c ',' d']删除首字母缩写为1且长度为1的值,如果len中设置为1,0,则数组不变
arr.splice (1,2 )//['a ',' d']删除起始下标为1、长度为2的值,len设定的2
替换 ---- item为替换的值
arr.splice (1,1,' ttt ' )//['a '、' ttt '、' c '、' d']将替换为起始下标为1、长度为1的值为' ttt '、len设置的1
arr.splice (1,2,' ttt ' )/[a ',' ttt ',' d']将被两个值(起始下标为1,长度为2 )替换为' ttt ',len设置的1
添加 ---- len设置为0,item为添加的值
arr.splice (1,0,' ttt ' )/[a ',' ttt ',' b ',' c ',' d']表示在下标为1的地方添加‘TTT’
想要:定义数组ARR,保存检查的数据ID,在更改复选框状态时从数组中删除或添加数据ID,在单击批量删除时检索数组ARR
操作:
1 .页面设置
//全部为thnz-thnzcheckboxlabelnz-checkbox [ (ng model ) ]=' _ all checked ' [ NZ indeterminate ]=' _ indeterminate ' ] 单选tdnz-tdnzcheckboxlabelnz-checkbox [ (ng model ) ]='data.checked ' ) ngmodelchange )='_refreshstatus($$ )
2 .全选操作事件
//初始化全部选择和全部解除的状态
_allChecked=false; _indeterminate=false;
_bacthDelete=[]; //定义存储检查过的数据ID的数组
//单击全部触发的事件_checkall(value ) if (value ) this._ display data.foreach (data={ data.checked=true; this._bacthdelete.push(data.id );console.log(this._bacthdelete ); } else { this._ display data.foreach (data={ data.checked=false; },this._bacthDelete=[]; console.log(this._bacthdelete ) } this._refreshStatus ); } 3.单击各个数据状态
on select (数据: formdata ) :void ) this.selectedtestid=data; 控制台. log (数据; if (! data.checked (letarr=this._ bacthdelete; arr.splice (arr.findindex (item=item.id==data.id ),1 ) console.log(arr ) }else ) this._ bacthdelete cod
转载于:https://www.cn blogs.com/linsx/p/8331623.html