如何用给出的值构造与索引相对应的数学公式

时间:2019-05-08 14:33:44

标签: javascript react-native mathematical-optimization

我具有将此功能集中在Flatlist(水平)中的项:

centralizeItem = (index) => {
 const WIDTH = scale(95)
 let centerSize

 if (index === 0) centerSize = (WIDTH*1.5) * -1

 if (index === 1) centerSize = (WIDTH/2) * -1

 if (index === 2) centerSize = (WIDTH/2)

 if (index === 3) centerSize = (WIDTH*(index/2))

 if (index === 4) centerSize = (WIDTH*(index/2+0.5)) // 2.5

 if (index === 5) centerSize = (WIDTH*(index/2+1)) // 3.5

 if (index === 6) centerSize = (WIDTH*(index/2+1.5)) //4.5

  return centerSize
}

此公式返回一个偏移值,以使用

滚动到y值
this.refs.listRef.scrollToOffset({offset: this.centralizeItem(index) })

选中该项目后,上面的代码就会触发

但是,Flatlist呈现了很多数据,而不仅仅是7个索引,并且该公式不可行。

我需要一个遵循上述函数变化形式的公式

1 个答案:

答案 0 :(得分:1)

您可以计算公式并计算因子。

centralizeItem = index => scale(95) * (index - 1.5);