<List>
一个适用于 ReactLynx 的虚拟化列表组件,用于高效渲染长列表数据。
Info
你可以查看源码来了解它的运行原理,也欢迎大家提 MR 来丰富其能力。
基础用法
ListProps
Properties
bouncesiOS
启用 iOS 弹性效果。
childreniOSAndroidHarmony
列表的子元素。
classNameiOSAndroidHarmony
类名
crossAxisGapiOSAndroidHarmony
指定列表中组件的交叉轴间距。
enableScrolliOSAndroidHarmony
启用垂直滚动。
enableScrollBariOSAndroidHarmony
启用滚动条。
enableScrollMonitoriOSAndroidHarmony
启用滚动监控。
exposureIDiOSAndroidHarmony
全局曝光的曝光ID
exposureSceneiOSAndroidHarmony
全局曝光的曝光场景
initialScrollIndexiOSAndroidHarmony
列表在初始加载时自动滚动到的位置。
iosEnableSimultaneousTouchiOS
强制触摸事件发送到列表。
iosScrollsToTopiOS
点击 iOS 状态栏时是否需要回顶。
itemSnapiOSAndroidHarmony
分页滚动
listIdiOSAndroidHarmony
列表的 ID。
listMaxSizeiOSAndroidHarmony
单位是 px。设置容器的自适应高度限制。当子内容高度小于此值时,容器高度自动适应内容;当子内容超过此值时,容器高度将固定为该值并显示滚动条。
listTypeiOSAndroidHarmony
列表的布局类型。
lowerThresholdItemCountiOSAndroidHarmony
下边缘触发 onScrollToLower 事件的条目阈值。
main-thread:gestureiOSAndroid
如果想使用gesture api,请传入该属性。
mainAxisGapiOSAndroidHarmony
指定列表中组件的主要轴间距。
nameiOSAndroidHarmony
列表的名称。
needLayoutCompleteInfoiOSAndroidHarmony
输出布局完成的详细信息。
onUIAppeariOSAndroidHarmony
UI 的曝光事件。
onUIDisappeariOSAndroidHarmony
UI 的消失事件。
preloadBufferCountiOSAndroidHarmony
控制列表在屏上节点之外,提前加载节点的个数。在 listType 为 waterfall 时不生效。
ref
scrollEventThrottleiOSAndroidHarmony
列表触发滚动事件回调的时间间隔(毫秒)。
scrollMonitorTagiOSAndroidHarmony
滚动监控的标签。
scrollOrientationiOSAndroidHarmony
设置为 'vertical' 为垂直滚动,设置为 'horizontal' 为水平滚动。
scrollPropagationBehavioriOSAndroid
控制滚动事件是否向父级容器传递。'preventPropagate' 在 iOS 上暂时需与 temporaryBlockScrollClass 和 temporaryBlockScrollTag 配合使用。
Currently, this property has its limits because the full ability has dependency on higher native SDK version. On iOS the 'propagate' only works when the both parent component and this component are set to 'propagate'. And useRefactorList={true} don't support 'propagate'. On Android, the 'preventPropagate' can only works when its parent element is x-swiper and x-viewpager-ng.
shouldRequestStateRestoreiOSAndroidHarmony
元素层复用的生命周期。解决 UI 层复用状态混乱的问题。
showVisibleItemInfoInScrollEventiOSAndroidHarmony
控制是否在绑定滚动事件中包含附加单元格信息。
spanCountiOSAndroidHarmony
列表的列数。
stickyOffsetiOSAndroidHarmony
粘性位置与列表顶部或底部的偏移量。
styleiOSAndroidHarmony
样式
temporaryAndroidEnableOverflowAndroid
是否开启 android 平台层 list overflow
temporaryBlockScrollClassiOS
当 scrollPropagationBehavior 设为 'preventPropagate' 时,被阻止滚动的容器的具体类名。'preventPropagate' 在 iOS 上暂时需与 temporaryBlockScrollClass 和 temporaryBlockScrollTag 配合使用。
此为临时属性,将在新版 Lynx SDK 中废弃。
temporaryBlockScrollTagiOS
用于指定当 scrollPropagationBehavior 设为 'preventPropagate' 时被阻止滚动的原生容器标签(对应 UIView 的 Tag 属性)。该值需由原生容器提供方指定,且 'preventPropagate' 在 iOS 上暂时需与 temporaryBlockScrollClass 和 temporaryBlockScrollTag 配合使用。
此为临时属性,将在新版 Lynx SDK 中废弃。
upperThresholdItemCountiOSAndroidHarmony
上边缘触发 onScrollToUpper 事件的条目阈值。
useRefactorListiOSAndroidHarmony
使用重构后的列表。
Events
catchLongPressiOSAndroidHarmony
与 onLongPress 相同,但会阻止事件冒泡。
catchTouchCanceliOSAndroidHarmony
与 onTouchCancel 相同,但会阻止事件冒泡。
catchTouchEndiOSAndroidHarmony
与 onTouchEnd 相同,但会阻止事件冒泡。
catchTouchMoveiOSAndroidHarmony
与 onTouchMove 相同,但会阻止事件冒泡。
catchTouchStartiOSAndroidHarmony
与 onTouchStart 相同,但会阻止事件冒泡。
debugLogLeveliOSAndroidHarmony
显示调试日志。0:无,1:错误,2:信息,3:详细
onLayoutChangeiOSAndroidHarmony
当 UI 视口大小改变时发送。
onLayoutCompleteiOSAndroidHarmony
当列表的条目更新并且此更新过程已完成时发送。
onLongPressiOSAndroidHarmony
当触摸点在 UI 上按住一段时间后发送。
onScrolliOSAndroid
滚动时触发。
onScrollEndiOSAndroid
滚动停止时触发。
onScrollStateChangeiOSAndroidHarmony
滚动状态变更。
onScrollToLoweriOSAndroid
滚动到底部时触发。
onScrollToUpperiOSAndroid
滚动到顶部时触发。
onSnapToItemiOSAndroidHarmony
当列表限位滚动到一个条目时发送。
onTapiOSAndroidHarmony
当触摸点在 UI 上轻触时发送。
onTouchCanceliOSAndroidHarmony
当触摸事件在完成前被中断或取消时发送。
onTouchEndiOSAndroidHarmony
当触摸点从 UI 上移除时发送。
onTouchMoveiOSAndroidHarmony
当触摸点在 UI 上移动时发送。
onTouchStartiOSAndroidHarmony
当触摸点放置在 UI 上时发送。
diffResultDetails
insertions
move_from
move_to
removals
update_from
update_to
LayoutCompleteEvent
detailiOSAndroidHarmony
布局详情
layoutCompleteEventDetail
diffResult
layout-idiOSAndroidHarmony
与 setState 连接。
visibleCellsAfterLayout
visibleCellsBeforeLayout
ListItemInfo
height
isBinding
itemKey
originX
originY
updated
width
ListItemSnapAlignment
factoriOSAndroidHarmony
分页定位锚定位置的参数,取值范围 [0, 1]
0 - 子节点与 List 的顶部对齐
1 - 子节点与 List 的底部对齐
offsetiOSAndroidHarmony
额外增加偏移参数,在 factor 的基础之上再进一步添加偏移量
ListRef
autoScrolliOSAndroidHarmony
自动滚动列表到指定位置和偏移量。
getVisibleCellsiOSAndroidHarmony
将列表滚动到指定位置和偏移量。
scrollIntoIDiOSAndroidHarmony
扩展标准列表的 scrollTo 方法。此方法使用 worklet 并支持像 scroll-view 方法的参数 id。由于列表是懒加载的,此方法中需要索引以找到 id 组件的位置。需要
useRefactorList={true}。scrollToiOSAndroidHarmony
滚动列表到指定位置和偏移量。