Affecter的接口文档

2018-03-06  本文已影响0人  科研者

概念

类型表示规则

ScaleNumber : 表示比例的数字类型;
Coord = {x:number,y:number}      : 表示坐标的类型 
Size = {width:number,height:number}     : 表示尺寸的类型
Rect = {x:number,y:number,width:number,height:number}       : 表示矩形的类型
Element : 原生Dom元素
RowCol = {row:number,col:number}    : 表示行列号的类型
Style : React样式对象类型
CalssName : React的calssName的类型

Affecter 影响者

props

affectAnchors

说明

affectAnchors中的元素表示影响锚点在Affecter的视口上的偏移坐标;
坐标的单位由 usePixelCoordInAffecter 决定;

usePixelCoordInAffecter

说明

表示affectAnchors中的坐标单位是否是像素;
当为 true 时,affectAnchors 中坐标单位是像素;
当为 false 或者未定义时,affectAnchors 中坐标单位是偏移像素相对于 Affecter 宽度和高度的比例; 即: x 表示 影响锚点在X轴方向上相对于Affecter的宽度的偏移比例,y 表示 影响锚点在Y轴方向上相对于Affecter的高度的偏移比例;

itemAnchor 项目锚点

说明

表示 项目锚点 在 项目视口上的 偏移坐标,用于计算与影响锚点之间的距离;单位是:偏移像素相对于项目宽高的偏移比例;

transforms

说明

转换函数数组,里面包含的函数是用来转换项目元素的锚点与影响锚点之间的距离坐标,并返回转换后的距离坐标对象;

getItemAffectStyle

说明

获得项目影响样式的回调函数;

getItemInitStyle

说明

获得元素的初始样式(比如:用于布局的样式)的回调函数,在Affecter的props更新时为每个元素调用;

wrapChildren

说明

表示是否包装子元素;

wrapClass

说明

定义包装元素的类

wrapStyle

说明

定义包装元素的样式

loopType

说明

定义循环类型

wrapSpace

说明

定义循环包之间的间隔;

onScroll

说明

Affecter 的滑动事件处理函数;当返回 true 值时,不会执行 Affecter 的默认操作;

计算循环(ComputeLoop)独有的Props

ItemType

说明

计算循环的项目类型,必须是由工厂函数 computeLoopItemTypeCreater 创建的类型;

itemDataArr

说明

计算循环的项目的数据数组

itemSize

horSpace

verSpace

itemDataArr

roundRowCount

roundColCount

AffectedItem 影响者的项目

props

以下props是由使用者来定义

renderAll

说明

每次刷新是否渲染所有元素,默认是否,只渲染 渲染矩形 内的元素;

以下props由Affecter组件负责传送,用户不用传送

computeAffectStyleForItem

itemIsInRenderRange

使用说明

AffectedItem 组件专门用作 Affecter 组件的子组件,使用格式为:

<Affecter>
    <AffectedItem>
        <p>郭斌勇</p>
    </AffectedItem>
</Affecter>

您也可创建自己的AffectedItem组件,只需要在需要设置样式时通过 this.props.computeAffectStyleForItem 函数获取新的样式即可;

工具函数

computeLoopItemTypeCreater(ItemContentType)

说明

生成可以作为计算循环模式下的 Affecter 的 item 的组件类; ItemContentType 的实例会收到以下 prop:

行号、列号是 计算循环为 项目设计的网络坐标,每个网格对应一个项目的位置;
项目序号 表示的是项目在计算循环的循环单元(循环周期)内的序号;所以如果2个item的 itemIndex 相同,则它们接收的 itemData 也是相同的;

性能优化相关的props

throttleDelay

说明

节流阀体的时间限,即该数值表示多长时间内不允许触发第2次更新

throttleStep

说明

节流阀体的步长限,即该数值表示多长的滑动距离才能触发第2次更新

renderExtendRadius

说明

项目的渲染范围的扩展半径;

上一篇 下一篇

猜你喜欢

热点阅读