HarmonyOS 可滑动组件嵌套后内部的可滑动组件无法监听滑动
当前需要有一个全局的瀑布流组件放在其它page中,其它page需要整体滑动,所以只能嵌套使用但是瀑布流组件无法监听滑动,如何能够在不影响外部list的情况下只对嵌套内容进行滑动监听?
@Entry
@Component
export default struct scrollTestPage {
  dataList = [1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6]
  dataList2 = [1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6]
  dataList3 = [1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6]
  build() {
    List() {
      ForEach(this.dataList, (item: number, position: number) => {
        ListItem() {
          Text(item.toString()).width("100%").height(44).textAlign(TextAlign.Center)
        }
      }, (item: number, position: number) => {
        return item + "_" + position
      })
      ListItem() {
        WaterFlow() {
          ForEach(this.dataList2, (item: number, position: number) => {
            FlowItem() {
              Text(item.toString()).layoutWeight(1).height(44).textAlign(TextAlign.Center)
            }
          })
        }.onDidScroll((data) => {
          console.error("waterFlow scroll")
        })
      }
      
      ListItem() {
        List() {
          ForEach(this.dataList2, (item: number, position: number) => {
            ListItem() {
              Text(item.toString()).layoutWeight(1).height(44).textAlign(TextAlign.Center)
            }
          })
        }.onDidScroll((data) => {
          console.error("childList scroll")
        })
      }
    }.onDidScroll((data) => {
      console.error("list scroll")
    })
  }
}
        HarmonyOS
      
        赞
        
 收藏 0
 回答 1
 
        待解决
        
相关问题
 HarmonyOS 是否有可吸顶的tab滑动组件呢? 
1132浏览  • 1回复 待解决
Tabs组件嵌套滑动组件 
2771浏览  • 1回复 待解决
HarmonyOS Tabs组件嵌套滑动 
1479浏览  • 1回复 待解决
HarmonyOS  监听List组件滑动 
1472浏览  • 1回复 待解决
HarmonyOS Scroll组件无法滑动 
1539浏览  • 1回复 待解决
HarmonyOS Refresh组件嵌套滑动冲突问题 
2402浏览  • 1回复 待解决
HarmonyOS Scroll容器内部嵌套2个Waterflow组件,滑动条嵌套设置不生效 
1078浏览  • 1回复 待解决
HarmonyOS Tabs嵌套TabContent内部嵌套一个可拖动的组件导致冲突 
1070浏览  • 1回复 待解决
HarmonyOS Scroll 组件内部放不确定高度的内容,如何监听页面滑动到底部,如何监听快要滑动到底部 
1407浏览  • 1回复 待解决
HarmonyOS list嵌套scroll左右滑动无法查看屏幕外的组件 
1138浏览  • 1回复 待解决
如何监听List组件的总滑动距离 
4251浏览  • 1回复 待解决
HarmonyOS Tabs组件嵌套Web组件,导致横向滑动冲突 
1016浏览  • 1回复 待解决
现列表项ListItem滑动显示可置顶或删除 
4431浏览  • 1回复 待解决
HarmonyOS  scroll嵌套list页面无法滑动 
2499浏览  • 1回复 待解决
HarmonyOS  怎么实现高度自适应并有最大高度的可滑动的文本 
923浏览  • 1回复 待解决
HarmonyOS List组件如何监听滑动到底部? 
2214浏览  • 1回复 待解决
HarmonyOS 嵌套滑动问题 
1402浏览  • 1回复 待解决
HarmonyOS怎么实现Tabs组件滑动时indictor随之滑动的效果? 
1355浏览  • 1回复 待解决
HarmonyOS  父子组件滑动冲突 
1131浏览  • 1回复 待解决
scroll和list的嵌套滑动 
3131浏览  • 1回复 待解决
Scroll与WaterFlow滑动嵌套 
3240浏览  • 1回复 待解决
HarmonyOS  双向滑动Slider组件 
1201浏览  • 1回复 待解决
HarmonyOS 滑动时组件问题 
999浏览  • 1回复 待解决
HarmonyOS 图片组件手势滑动 
957浏览  • 1回复 待解决
滑动嵌套事件冲突处理 
1284浏览  • 1回复 待解决





















可根据以下步骤:
1、使用refresh组件,将refresh组件作为父组件嵌套div,这样可以实现滑动展示。配合list、list-item一起使用,确保内容能够正确滑动。
2、设置相关属性,将refresh组件的高度设置为固定值以避免内容被压缩。将父组件的高度设置为固定值,以确保外部列表的高度不会被压缩。
3、控制触摸事件,对子列表组件的scrollbottom事件进行控制,当子列表组件滑动至末尾时,将父组件的scrollable属性设置为false,使得父列表无法滑动 。同时为了保证用户触摸子列表之外其他区域时,可以正常滑动父列表,需要在子列表之外其他区域的组件上对touchstart事件进行控制,将父组件的scrollable属性设置为true。
参考示例: