如果我只有一个 column FlatList
,LayoutAnimation
则通过平滑地向上滑动到已删除项目的位置来正确地动画从列表中删除一个元素。
如果我设置FlatList
prop numColumns={2}
(或更大)来制作项目网格,则从列表中删除项目不再通过缓动正确动画。现在删除一个项目时,网格中的项目在它淡出后淡出,然后淡入,所选项目现在消失了。
如何FlatList
正确制作多列动画删除?
renderItem({item,index}) {
return (
<ListItem
item={item}
index={index}
deleteTerm={() => this.deleteItem(index)}
search={() => this.onSearch(item)}
/>
)
}
deleteItem(index) {
LayoutAnimation.easeInEaseOut();
this.props.actions({type:'DELETE_TERM', payload: index});
}
render () {
return (
<ScrollView style={styles.container}
keyboardDismissMode={'on-drag'}
keyboardShouldPersistTaps={'always'}
>
<FlatList
keyboardShouldPersistTaps={'always'}
data={this.props.searchHistory}
renderItem={this.renderItem.bind(this)}
numColumns={2}
keyExtractor={(item) => item}
/>
</ScrollView>
)
}