Waterfall

Section列表组成Waterfall。 item列表组成Section。

瀑布流结构图

瀑布流板块

瀑布流板块类型

瀑布流内置如下类型板块:

  • 加载板块:QT_WATERFALL_SECTION_TYPE_LOADING
  • 标题板块:QT_WATERFALL_SECTION_TYPE_TITLE
  • 弹性布局板块:QT_WATERFALL_SECTION_TYPE_FLEX
  • 横向列表板块:QT_WATERFALL_SECTION_TYPE_LIST
  • 标签板块:QT_WATERFALL_SECTION_TYPE_TAB
  • 标签列表板块:QT_WATERFALL_SECTION_TYPE_TAB_LIST
  • 卡片板块:QT_WATERFALL_SECTION_TYPE_CARD
  • 原生Vue板块:QT_WATERFALL_SECTION_TYPE_VUE
  • 结束板块:QT_WATERFALL_SECTION_TYPE_END
  • 空板块:QT_WATERFALL_SECTION_TYPE_BLANK

List Section

使用内置列表板块,设置section类型为QT_WATERFALL_SECTION_TYPE_LIST即可

End Section

使用内置底部板块,设置section类型为QT_WATERFALL_SECTION_TYPE_END即可

Blank Section

使用内置空板块,设置section类型为QT_WATERFALL_SECTION_TYPE_BLANK即可

Tabs Section

使用内置标签板块,设置section类型为QT_WATERFALL_ITEM_TYPE_TAB即可

Vue Section

瀑布流板块操作

瀑布流条目

瀑布流条目类型

瀑布流内置如下类型条目:

  • 海报条目:QT_WATERFALL_ITEM_TYPE_POSTER
  • 标签条目:QT_WATERFALL_ITEM_TYPE_TAB
  • 卡片条目:QT_WATERFALL_ITEM_TYPE_CARD
  • 空条目:QT_WATERFALL_ITEM_TYPE_BLANK

Card Item

Card Item Placeholder

瀑布流条目操作

添加条目

查询条目

删除条目

更新条目

条目装饰信息

自定义条目

数据双向绑定用法

API

DataStructure

QTWaterfall

用来描述瀑布流信息

NameDescriptionTypeDefault
width瀑布流的宽度number-
height瀑布流的高度number-
visibleType瀑布流显示的类型QTWaterfallVisibleType-

QTWaterfallItem

用来描述瀑布流Item信息

NameDescriptionTypeDefault
_id瀑布流item的idstring-
type瀑布流item的类型number-
decoration瀑布流item的装饰尺寸QTListViewItemDecoration-
style瀑布流item视图的样式QTWaterfallFlexStyle-

QTWaterfallSection

用来描述瀑布流Section信息

NameDescriptionTypeDefault
_id瀑布流section的idstring-
type瀑布流section的类型number-
decoration瀑布流section的装饰尺寸QTListViewItemDecoration-
style瀑布流section视图的样式QTWaterfallFlexStyle-
title瀑布流section的标题string-
titleStyle瀑布流section的标题样式QTWaterfallFlexStyle & QTFlexStyleText-
itemList瀑布流section中的item列表Array<QTWaterfallItem>-
placeholder瀑布流section中的占位QTWaterfallPlaceholder-

Attributes

NameDescriptionTypeDefault
enablePlaceholder是否启用占位图booleanfalse
blockFocusDirections拦截焦点的方向object['left', 'right']
scrollYLesserReferenceValueY轴滚动减少的阈值number0
scrollYGreaterReferenceValueY轴滚动增加的阈值number0
focusable是否可以获得焦点booleanfalse
clipChildren裁剪子布局booleanfalse
clipPadding从padding区域向外裁剪booleanfalse
nextFocusDownSID 2.7向下时指定下一个焦点sidstring-
nextFocusUpSID 2.7向上时指定下一个焦点sidstring-
nextFocusLeftSID 2.7向左时指定下一个焦点sidstring-
nextFocusRightSID 2.7向右时指定下一个焦点sidstring-
nextFocusSID 2.7指定各方向下一个焦点sidobject-
sid 2.7给一个元素标记一个string id,可随意赋值,需确保唯一string-
fadingEdgeLength 2.5淡出效果长度number0
horizontalFadingEdgeEnabled 2.5开启横向淡出效果booleanfalse
verticalFadingEdgeEnabled 2.5开启纵向淡出效果booleanfalse
autofocus 2.7组件内根据状态(初始化、可见性改变、尺寸改变)变化自动获焦,focusable为true时自己获焦booleanfalse
renderToHardwareTextureAndroid设置layerTypeLAYER_TYPE_HARDWAREbooleanfalse
viewLayerType设置layerTypeenum-
clipBounds设置裁剪区域object-
descendantFocusability设置子孙组件的可聚焦性策略enum-
name指定元素的namestring-
nextFocusName指定各方向下一个焦点元素的nameobject-
visible是否可见booleanfalse
visibility可见性enumvisible
size设置元素大小array-
layout设置元素位置及大小array-
selectChildPosition设置选中子元素位置number-1
enableSelectOnFocus开启当焦点时自动设置选中子元素位置number-1
focusMemory开启子元素焦点记忆booleanfalse
useDiff开启时更新diff算法,提高性能,解决多次刷新问题 betabooleanfalse
initPosition列表初始化时一些滚动位置、初始化焦点等设置 deprecated 使用autofocus、autoscroll替代object-
listenBoundEvent开启监听item-focused等事件booleanfalse
enableItemAnimator开启item加载动画booleanfalse
disableScrollOnFirstScreen首屏时焦点切换不滚动 betabooleanfalse
skipFocusOnPausepause状态时不可获焦booleanfalse
taskPaused将组件活动(如创建item等,postDelay的组件)暂停booleanfalse
pauseTaskOnHide组件不可见时pausebooleanfalse
resetOnDetach开启时自动在离开屏幕时重置状态、滚动到头部booleanfalse
touchScrollEnabled开启触屏时滚动booleantrue
firstFocusChild 2.87指定从各方向获焦时,首个获焦对象,由childpositionsid指定object-
enableFirstFocusAtStart 2.87开启首个获焦对象为头部childbooleanfalse
enablePlaceholder 2.5加载时是否先展示placeholderbooleanfalse
checkScrollOffsetOnStateChanged是否在滚动事件时触发事件监听booleanfalse
onScrollEnable开启scroll事件监听booleantrue
makeChildVisibleType列表随焦点变化滚动方式enumcenter
makeChildVisibleClampBackward列表向后滚动时的留白betanumber0
makeChildVisibleClampForward列表前后滚动时的留白betanumber0
scrollThresholdHorizontal横向焦点触发滚动的阈值number0
scrollThresholdVertical横向焦点触发滚动的阈值number0
cachePoolitem缓存池,可以设置缓存池name,指定不同type类型item的数量,以优化性能object-
cachePoolNamecachePool简化版,只可指定缓存池name,不同实例,相同name使用同一缓存池string-
selectChildPosition选中子item位置number-1
shakePreCheckNumber到底抖动提示提前位置number2
placeholderFocusScale 2.7placeholder焦点放大倍数number1.1
placeholderColorString 2.7placeholder背景颜色(#RRGGBBAA)string#FFFFFF1A
placeholderColor 2.7placeholder背景颜色number(255,255,255,0.1)
placeholderBorderRadius 2.7placeholder圆角number8
endShakeEnabled到底反馈booleantrue
listenFocusSearchOnFail监听内部寻焦失败booleanfalse
enableStatesOnFocus子item获焦时自动改变自定义名称的状态arrayfalse
placeholderPostDelay 2.5placeholder变为真实内容的delay时间number100ms
enableKeepFocus保持焦点在内部booleanfalse
scrollFactor滚动速度参数number1
autofocusPosition 2.7自动焦点位置number-1
autoscroll 2.7自动滚动参数[position,offset]array-
autoSelectPosition 2.7自动选择位置betanumber-1
infiniteMode 2.87循环模式booleanfalse
infiniteParams 2.87循环模式参数:{autoscroll:array,scrollOffset:number, itemSize : number,selectPosition:number,minChildScale:number}object-
listData beta双向绑定数据集Array[]

Events

NameDescriptionType
onScroll页面滚动Function
onScrollStateChanged页面滚动状态变化Function
onItemClick条目点击事件Function
onItemFocused条目焦点变化Function
onSectionBind板块绑定Function
onSectionAttached板块AttachedFunction
onSectionDetached板块DetachedFunction
onScrollYGreaterReferenceY轴滚动增加事件Function
onScrollYLesserReferenceY轴滚动减少事件Function
onPluginLoadSuccess插件加载成功Function
onPluginLoadError插件加载失败Function

Slots

NameDescription
itemflex section中自定义item.
list-itemlist section 中自定义item.
vue-sectionvue section 中内容.
section自定义section.

Exposes

NameDescriptionType
init该方法根据初始化瀑布流Function
getSectionList该方法获取瀑布流包含的板块列表数据Function
setSectionList该方法设置瀑布流板块列表数据Function
addSectionList该方法给瀑布流添加板块Function
deleteSection该方法删除指定的板块Function
updateSection该方法更新指定index的瀑布流板块Function
updateSectionList该方法更新瀑布流板块列表Function
getSection该方法获取指定索引的瀑布流板块Function
addItemList该方法向指定索引的板块中添加条目Function
deleteItem该方法删除指定索引板块中的条目Function
updateItem该方法更新指定索引板块中的条目Function
updateItemList该方法更新指定索引板块中的条目列表Function
getItem该方法获取指定索引板块中的条目Function
scrollToIndex滚动到指定位置Function
startScroll开始滚动Function
setSelectChildPosition选中指定位置的条目Function
scrollToPositionWithOffset滚动到指定的位置Function
scrollToPositionWithOffsetInfiniteMode滚动到指定的位置Function
scrollToPosition滚动到指定的位置Function
refreshListData刷新列表数据Function
updateItemTraverse更新条目Function
requestItemLayout条目刷新布局Function
updateItemRange更新条目Function
insertItemRange插入条目Function
updateItemMatched更新条目Function
updateItemMatchedByKey更新条目Function
deleteItemRange删除条目Function
setListData设置列表数据Function
setListDataWithParams设置列表数据Function
addListData添加数据Function
addListDataWithParams添加数据Function
destroy销毁Function
recycle回收Function
scrollToTop滚动到顶部Function
scrollToFocus滚动到焦点Function
prepareForRecycle准备回收Function
setDisplay是否显示Function
changeDisplayState改变显示状态Function
notifySaveInstance请求保存状态Function
updateItemProps更新条目属性Function
dispatchItemFunction执行条目方法Function
clearPostTask清空任务Function
clearPostTaskByCate清空任务Function
clearData清空数据Function
pausePostTask暂停任务Function
resumePostTask恢复任务Function
requestLayoutManual手动刷新布局Function
setSpanCount设置格子数量Function
searchReplaceItem请求替换条目Function
setCustomStateEnableOnFocus设置自定义状态在焦点时是否可用Function
setItemCustomState设置条目自定义状态Function
dispatchItemFunctionWithPromise执行条目的方法Function
getScrollOffset获取滚动的偏移量Function

Source

ComponentDocs

Contributors