3

如果我只有一个 column FlatListLayoutAnimation则通过平滑地向上滑动到已删除项目的位置来正确地动画从列表中删除一个元素。

如果我设置FlatListprop 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>
    )
  }
4

0 回答 0