React Native中FlatList实时获取当前Item索引

困扰两个星期的问题,在这里记录一下:

首先提一下FlatList的坑,目前使用的0.59.9版本 onViewableItemsChanged方法 在多次取viewableItems中index的时候 会出现不准确的情况,我的Item是一个占一屏并且设置了pagingEnabled在这种情况下 , 我采用了onMomentumScrollEnd方法去获取滑动的距离,以及测量item的高度去计算出当前Item是第几个,最后setState

代码如下:

<FlatList
	 ...
     onMomentumScrollEnd={this._onScrollEnd}
 />

 _onScrollEnd(e) {
        let contentOffset = e.nativeEvent.contentOffset;
        let viewSize = e.nativeEvent.layoutMeasurement;
        //如果横向滑动则是
        // Math.floor(contentOffset.x/viewSize.width);
        let pageNum = Math.floor(contentOffset.y/viewSize.height);
        console.log('scrolled to page ', pageNum);
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值