Skip to content

简介

介绍:qt-tabs-waterfall是由组合tabstv-list 而实现的多tab的瀑布流内容组件,常用于应用首页。支持横向纵向排列,支持数据分页。

注意,最低支持SDK版本2.1

注意,qt-tabs-waterfall组件中默认item样式使用qt-poster, 在构建数据中可查看其使用方式。也可自定义item。

效果预览

Waterfall

属性

参数类型默认值可选值说明
:arrange-typStringTBTB ,BT ,LR, RLTB BT 纵向 LR, RL 横向
:sidePaddingNumber90tab栏的间距
:class-nav-barString'quick-tv-ui_tabs_waterfall_nav_bar'tan栏的类名
:class-contentString'quick-tv-ui_tabs_waterfall_content'content内容部分的类名
:headBlankNumber235组件距离顶部的距离
:prevLoadNumberNumber3分页加载时预加载的条数
:blockViewPagerArray[]['left','right','up','down']纵向时 内容部分在某个方向锁住焦点
:blockViewPagerVerticalArray[]['left','right','up','down']横向时 内容部分在某个方向锁住焦点
:suspensionBooleanfalse是否开启吸顶
:endHintEnabledBooleantrue是否开启列表回弹动画

方法

getChildNode(pageIndex,pos,childIndex)

获取指定位置item节点对象

参数名类型说明
pageIndexInt页面索引
posIntposition位置
childIndexInt子item索引

点击查看源码
js
  this.$refs.tabs-waterfall.getChildNode(0,0,0)

update(childNode)

获取指定位置item对象

参数名类型说明
childNodeObject子节点对象

点击查看源码
js
  //先获取节点对象 修改之后更新  
  //注意 可更新item也可更新section
  let item = this.$refs.tabs-waterfall.getChildItem(0,0,0)
  this.$refs.tabs_waterfall.update(item)

forEachRootNode() | notifyUpdateAllPage()

遍历节点 | 更新所有节点


点击查看源码
js

  this.$refs.tabs_waterfall.forEachRootNode((rootItem)=>{
    if(rootItem.children){
        rootItem.children.forEach(poster=>{
            PosterBuilder.setPosterCornerTitle(poster,'vip1')
        })
    }
  })
  this.$refs.tabs_waterfall.notifyUpdateAllPage()

notifyReloadAll()

重新加载所有节点


点击查看源码
js

  this.$refs.tabs_waterfall.notifyReloadAll()

requestFocus()

childItem设置焦点选中


点击查看源码
js

  let item = this.$refs.tabs_waterfall.getRootItem(pageIndex,position)
  this.$refs.tabs_waterfall.requestNodeFocus(item)

focusBackToTop()

焦点返回顶部


点击查看源码
js
 
  this.$refs.tabs_waterfall.focusBackToTop()

getRootNodes()

获取根节点


点击查看源码
js
 
  let nodes = this.$refs.tabs_waterfall.getRootNodes(pageIndex)

getViewState()

获取view的状态


点击查看源码
js
 
  this.$refs.tabs_waterfall.getViewState((state=>{
    let contentState = state.contentState
    let tabState = state.tabState
    let offsetY = contentState.state.offsetY
  }))

getRootNodeState()

获取根节点的状态


点击查看源码
js
 
  this.$refs.tabs_waterfall.getRootNodeState((state=>{
    this.$refs.tabs_waterfall.getRootNodeViewState(0,0,(state=>{
    }))
  }))

getChildNodeState()

获取子节点的状态


点击查看源码
js
 
  this.$refs.tabs_waterfall.getChildNodeViewState(0,0,1,null,(state=>{
    ESLog.e(TAG,"getChildNodeState:"+JSON.stringify(state))
  }))