1.问题描述

下标方式实现删除数据

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

2.问题解决

首先在checkBox组件上添加name属性,将数据中的id给name属性如图:

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

将name的值放在数组中,当要实现其他需求时使用

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

解决后实现效果:

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

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐