Flatlist删除列表中的某一个item,并刷新界面显示

本文讲述了在遇到Flatlist中点击item删除后,界面未能及时更新的问题及解决方案。通过调整keyExtractor的设置,确保了数据源改变时列表能够正确刷新。尝试了网上提供的方法1和方法2未解决问题,最终通过改进keyExtractor实现列表更新。
摘要由CSDN通过智能技术生成

花了一上午时间,研究了一下当点击Flatlist的某一个item,然后删除这个item

具体的点击事件:

  //item点击事件回调
    _clickTransactionItem = (transTp, transactionItem, index,acctTpId) => {
        let arr0 = this.state.pointTransList;
        arr0.splice(index, 1);
        this.setState({
            pointTransList:arr0
        })
        // this.props.clickItemCallBack && this.props.clickItemCallBack(transTp, transactionItem, index,acctTpId);
    }

但是测试,发现数据源改变了,界面没有改变。网上看了些方法:

方法1:flatlist 增加属性1

extraData={this.state} 

方法2:flatlist增加属性2

handleMethod = {({viewableItems}) => this.handleViewableItemsChanged(viewableItems)}

试了,还是没解决。最后想到了keyExtractor,我的写法是:

keyExtractor={this._keyExtra
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值