HarmonyOS 鸿蒙Next:list中实现.swipeAction({end: this.DeleteButton(index)})侧滑删除功能不能触发页面重新渲染,@State和@Link实现了双向数据同步也不行

发布于 1周前 作者 vueper 来自 鸿蒙OS

HarmonyOS 鸿蒙Next:list中实现.swipeAction({end: this.DeleteButton(index)})侧滑删除功能不能触发页面重新渲染,@State@Link实现了双向数据同步也不行

我在主页面中设置了一个弹窗按钮,通过弹窗进行信息获取来生成List,list可以生成。但是 .swipeAction({end: this.DeleteButton(index)})侧滑删除功能不能触发页面重新渲染。@State@Link也是实现双向数据同步了,但就是不能实现这一个功能。学的稀里糊涂的,可以帮我看看吗cke_15147.pngcke_15468.pngcke_15837.pngcke_17482.pngcke_18030.pngcke_18689.png

5 回复

看起来不像是没监听到,不然dialog的push应该就没反应。你foreach最后一个参数key的生成指定一下?

老哥,他们好像采取新的方式了,但我还是没成功。你说的方法可以更详细一些吗

就是key的生成方式指定一下,我是怀疑有可能把某两个key辨别成一样所以不更新了

不是滑动删除的问题,滑动删除,我刚发的回复里面有。是一个listitem只能支持单一组件,自定义组件的多个text或者image,可以渲染,不能删除。

在HarmonyOS开发中,如果.swipeAction中的end回调(如this.DeleteButton(index))未能触发页面重新渲染,即使使用了@State@Link进行双向数据绑定,可能的原因包括:

  1. 状态更新未正确触发:确保DeleteButton方法内部确实修改了与UI相关的状态,并且这些状态被@State@Link装饰。
  2. 组件未正确响应状态变化:检查组件是否依赖于这些状态,并在状态变化时能够重新渲染。
  3. 异步处理:如果删除操作是异步的,确保在异步操作完成后更新状态。

如果问题依旧没法解决请加我微信,我的微信是itying888。

回到顶部