ArkUI的一个bug,List组件滑动异常 HarmonyOS 鸿蒙Next

ArkUI的一个bug,List组件滑动异常 HarmonyOS 鸿蒙Next

### 发生了什么问题?
List组件同时使用`.chainAnimation(true)`与`.edgeEffect(EdgeEffect.Spring, { alwaysEnabled: true })`时发生的滑动异常

### 期望行为是什么?
列表应当可以流畅滑动

### 如何复现该缺陷
复现代码如下,在5.0.1(API13)的设备上,当上滑时高概率出现卡顿无法上滑

```ets
[@Entry](/user/Entry)
[@Component](/user/Component)
struct Index {
  [@State](/user/State) message: string = 'Hello World';
  [@State](/user/State) test_list: string[] = ['a', 'b', 'c']
  build() {
    RelativeContainer() {
      List({ space: 10 }) {
        ForEach(this.test_list, (item: string) => {
          ListItem() {
            Text(item)
          }
          .backgroundColor(Color.Gray)
          .width('100%')
          .height(40)
        })
      }
      .width('100%')
      .height('100%')
      .chainAnimation(true)
      .edgeEffect(EdgeEffect.Spring, { alwaysEnabled: true })

    }
    .height('100%')
    .width('100%')
  }
}

更多关于ArkUI的一个bug,List组件滑动异常 HarmonyOS 鸿蒙Next的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

感觉是个bug,看着像是开启chainAnimation后好像在临界的时候会一直重启边缘动画。等后续更新吧

更多关于ArkUI的一个bug,List组件滑动异常 HarmonyOS 鸿蒙Next的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,ArkUI的List组件滑动异常可能是由于以下几个原因导致的:

  1. 布局问题:List组件的子项布局可能未正确设置,导致滑动时出现异常。检查子项的高度或宽度是否固定,避免动态变化引起布局错乱。

  2. 数据源更新:List组件的数据源在滑动过程中可能被频繁更新,导致渲染异常。确保数据源的更新操作在合适的时机进行,避免在滑动过程中频繁刷新。

  3. 性能问题:List组件加载大量数据时,可能因性能不足导致滑动卡顿或异常。优化数据加载逻辑,分批加载数据,减少单次渲染的负担。

  4. 事件冲突:List组件的滑动事件可能与其他手势事件冲突,导致滑动异常。检查是否有其他手势事件拦截了滑动事件,确保滑动事件的优先级。

  5. 版本兼容性:当前使用的ArkUI版本可能存在已知的滑动异常问题。检查是否有相关版本的更新或修复补丁,确保使用最新版本的ArkUI。

  6. 硬件加速:在某些设备上,硬件加速可能导致List组件滑动异常。尝试关闭硬件加速,观察是否有所改善。

  7. 嵌套滚动:List组件内部嵌套了其他可滚动组件,可能导致滑动冲突。检查并调整嵌套滚动组件的布局,避免滑动冲突。

如果上述方法无法解决问题,建议查看官方文档或社区论坛,获取更多关于List组件滑动异常的解决方案。

回到顶部