HarmonyOS 鸿蒙Next 当Scroll嵌套WaterFlow时,滑动有冲突

HarmonyOS 鸿蒙Next 当Scroll嵌套WaterFlow时,滑动有冲突 父组件为Scroll,子组件为WaterFlow时,当Scroll滑动到WaterFlow时,滑动事件交给了WaterFlow处理了,当WaterFlow再次滑到顶部,无法将滑动事件传递给父组件Scroll,这种情况怎么处理啊。求教~

有思路是WaterFlow使用onReachStart回调,每次滑到顶部时使用Link回传给父组件Scroll,Scroll也的确能接收到,可何时进行滑动处理以及滑动多少的距离呢?这个和Scroll嵌套List和Grid还不一样,着实是搞不了了

PS:官方Api东西的确是有点忒少了啊


更多关于HarmonyOS 鸿蒙Next 当Scroll嵌套WaterFlow时,滑动有冲突的实战教程也可以访问 https://www.itying.com/category-93-b0.html

8 回复

cke_135.png

cke_558.png

等API 10吧,对嵌套滚动做了处理

更多关于HarmonyOS 鸿蒙Next 当Scroll嵌套WaterFlow时,滑动有冲突的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


看看这样是不是满足需求:

```css
[@State](/user/State) hitModel: HitTestMode = HitTestMode.Default
Scroll(){ 
   WaterFlow(){...}
     .onReachEnd(()=>{
       this.hitModel = HitTestMode.Block
      })
     .onReachStart(()=>{
       this.hitModel = HitTestMode.Block
     })
.hitTestBehavior(this.hitModel)

我也碰到了,不好解决.但是今天发现在api10里面只要加一个属性就能完美解决.

mac m1 怎么用 api10,

要使用 API10 在 Mac M1 上进行开发,可以参考以下步骤:

  1. 确保你的开发环境已经配置好。
  2. 安装所需的依赖库。
  3. 编写代码并测试。

具体实现细节可以根据你使用的编程语言和框架进行调整。

一样的问题,求官方给个回复

遇到了一样的问题

在HarmonyOS鸿蒙Next中,当Scroll组件嵌套WaterFlow组件时,由于两者都支持滑动操作,可能会导致滑动冲突。Scroll组件通常用于处理垂直或水平方向的滚动,而WaterFlow组件则用于实现瀑布流布局,支持多列内容的动态加载和滚动。

当Scroll嵌套WaterFlow时,用户在对WaterFlow进行滑动操作时,可能会触发Scroll的滑动事件,导致滑动行为不一致或无法正常滚动。这种冲突通常是由于事件分发机制导致的,Scroll组件可能会优先捕获滑动事件,从而影响WaterFlow的正常滑动。

要解决这个问题,可以通过调整事件分发机制或使用特定的布局属性来控制滑动的优先级。例如,可以设置Scroll组件的滑动方向为垂直,而WaterFlow组件的滑动方向为水平,或者通过自定义手势处理逻辑来区分不同组件的滑动事件。

此外,鸿蒙系统提供了OnScrollListener等接口,可以监听滑动事件并根据需要进行处理,从而避免滑动冲突。开发者可以根据具体需求,结合系统提供的API进行定制化处理,确保Scroll和WaterFlow的滑动行为互不干扰。

回到顶部