React-Native 滑动删除

Posted

技术标签:

【中文标题】React-Native 滑动删除【英文标题】:React-Native Swipe to delete 【发布时间】:2021-01-02 13:59:58 【问题描述】:

我正在使用react-native-gesture-handler来实现刷卡。我不知道如何实现删除,如果我滑动它,项目并没有完全滑动和删除,因为我真的需要帮助。

现在它只是滑动然后捕捉

请有人看看我的代码,看看我如何实现完全滑动删除。我真的很感激!!!!

import Swipeable from 'react-native-gesture-handler/Swipeable';
import  RectButton  from 'react-native-gesture-handler';

const Todo = (props) => 
  const customList = useSelector(state => state.todo.myCustomItems);
  const renderRightAction = (icon, color, backgroundColor, x, progress) => 
    const trans = progress.interpolate(
      inputRange: [0, 1],
      outputRange: [x, 0]
    )

    return (
      <Animated.View style= flex: 1, transform: [ translateX: trans ] >
        <RectButton
          style=[styles.rightAction,  backgroundColor: backgroundColor ]
        >
          <Feather name="trash-2" size=24 color='white' />
        </RectButton>
      </Animated.View>
    )
  
  const renderRightActions = progress => (
    <View style= width: 120, flexDirection: 'row' >
      renderRightAction('delete', '#ffffff', '#dd2c00', 64, progress)
    </View>
  )
  const updateRef = ref => 
    const swipeableRow = ref
  

  const renderTodo = ( item, index ) => 
    return (
      <Swipeable
        ref=updateRef
        friction=1.5
        rightThreshold=30
        renderRightActions=renderRightActions>
        <ListItem
          title=i.value
        />
      </Swipeable>
    );
  ;

  return (
    <SafeAreaView style=styles.container>
      <FlatList
        data=customList
        keyExtractor=(item, index) => index
        renderItem=renderTodo
      />
    </SafeAreaView>
  );
;

export default Todo;

【问题讨论】:

【参考方案1】:

刷卡超过阈值时删除卡片。 删除时可以调用 Layout Animation API -https://reactnative.dev/docs/layoutanimation,以获得更流畅的体验

【讨论】:

以上是关于React-Native 滑动删除的主要内容,如果未能解决你的问题,请参考以下文章

只需一个手势滑动即可删除单元格

滑动以删除行,而无需点击删除按钮

更喜欢滑动删除而不是竞争的滑动手势

完全滑动删除 UITableViewCell 和部分滑动显示选项

在 CollectionView 上滑动删除

UIScrollView 嵌套UITableView 左滑删除和UIScrollView滑动冲突