鸿蒙开发利用数组数据下标来实现删除数据时出现的问题bug
·
1.问题描述
下标方式实现删除数据

出现问题:可以实现点击删除但在全选状态下删除时,会出现删除单个以后出现全选选中状态消失的问题,是因为数据被删除后下标改变,数据被重新渲染,默认为false未被选中状态

2.问题解决
首先在checkBox组件上添加name属性,将数据中的id给name属性如图:

然后在checkBoxGroup组件上添加onChange事件设置参数event,在事件中将数据id传回父组件,

将name的值放在数组中,当要实现其他需求时使用
![]()
再在其父组件设置forEach循环的第三参数来返回数据的id,再通过Builder组件将id传回去在点击事件中通过filter进行的筛选,让点击勾选时获取到的id和forEach循环渲染每一项时进行比对,当两个id值相等时,筛选出和id不相等的值来实现删除效果,从而实现用数据id值的方式实现删除数据,使其不影响勾选状态,不引起整个数组的UI渲染,来解决此问题

解决后实现效果:

欢迎加入HarmonyOS赋能资源丰富度建设(第四期):班级链接
更多推荐



所有评论(0)