reactnative滑动删除

23 篇文章 0 订阅

尊重版权,转载请注明出处

本文来自:江清清的技术专栏-翻译组(http://www.lcode.org)

开源项目地址:https://github.com/dancormier/react-native-swipeout

项目介绍

该组件进行封装实现仿照QQ,微信列表的右滑显示删除,置顶等其他功能item的效果。

创建的React Native技术交流4群:458982758,欢迎各位大牛,React Native技术爱好者加入交流!

配置安装

1.1.运行命令进行安装

?
1
npm install --save react-native-swipeout
使用实例

关于更多的使用实例,可以查看example中的代码

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var Swipeout = require( 'react-native-swipeout' )
 
// Buttons
var swipeoutBtns = [
   {
     text: 'Button'
   }
]
 
// Swipeout component
<Swipeout right={swipeoutBtns}>
   <View>
     <Text>Swipe me left</Text>
   </View>
</Swipeout>
运行效果

配置属性
属性名 类型 是否可选 默认值 描述信息
autoClose bool Yes false 按钮点击是否自动关闭
backgroundColor string Yes '#dbddde'  
close bool Yes   关闭滑动拖拽
left array Yes [] 在左侧进行拖拽
onOpen func Yes    
right array Yes [] 在右侧进行拖拽
scroll func Yes   prevent parent scroll
按钮属性
属性 类型 是否可选 默认 描述信息
backgroundColor string Yes '#b6bec0' background color
color string Yes '#ffffff' text color
component string Yes null pass custom component to button
onPress func Yes null function executed onPress
text string Yes 'Click Me' text
type string Yes 'default' default, primary, secondary
underlayColor string Yes null
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
React Native是一个用于构建跨平台移动应用的开源框架,它允许开发者使用JavaScript编写应用程序,并在iOS和Android等多个平台上运行。滑动删除React Native中常见的交互效果之一,可以通过一些组件和手势操作来实现。 在React Native中,可以使用FlatList或SwipeableListView等组件来实现滑动删除功能。其中,FlatList是一个高性能的可滚动列表组件,而SwipeableListView则是一个支持左右滑动操作的列表组件。 具体实现滑动删除的步骤如下: 1. 导入所需的组件和样式。 2. 创建一个数据源,用于渲染列表项。 3. 在renderItem函数中,定义每个列表项的布局和样式。 4. 在renderItem函数中,使用Swipeable组件包裹列表项,并设置滑动操作的效果。 5. 在Swipeable组件中,定义左滑和右滑的操作按钮,并设置相应的样式和功能。 6. 在onSwipeableLeftOpen和onSwipeableRightOpen回调函数中,处理左滑和右滑操作的逻辑,例如删除列表项或执行其他操作。 下面是一个简单的示例代码: ```javascript import React, { useState } from 'react'; import { View, Text, FlatList, TouchableOpacity, StyleSheet } from 'react-native'; import { Swipeable } from 'react-native-gesture-handler'; const SwipeableListItem = ({ item, onDelete }) => { const [swipeableRef, setSwipeableRef] = useState(null); const closeSwipeable = () => { swipeableRef && swipeableRef.close(); }; const renderRightActions = () => ( <TouchableOpacity style={styles.deleteButton} onPress={onDelete}> <Text style={styles.deleteButtonText}>Delete</Text> </TouchableOpacity> ); return ( <Swipeable ref={setSwipeableRef} friction={2} rightThreshold={40} renderRightActions={renderRightActions} onSwipeableRightOpen={closeSwipeable} > <View style={styles.listItem}> <Text>{item.title}</Text> </View> </Swipeable> ); }; const SwipeToDeleteScreen = () => { const [data, setData] = useState([ { id: '1', title: 'Item 1' }, { id: '2', title: 'Item 2' }, { id: '3', title: 'Item 3' }, ]); const handleDeleteItem = (itemId) => { setData(data.filter(item => item.id !== itemId)); }; return ( <View style={styles.container}> <FlatList data={data} keyExtractor={item => item.id} renderItem={({ item }) => ( <SwipeableListItem item={item} onDelete={() => handleDeleteItem(item.id)} /> )} /> </View> ); }; const styles = StyleSheet.create({ container: { flex: 1, padding: 16, }, listItem: { height: 60, justifyContent: 'center', borderBottomWidth: 1, borderBottomColor: '#ccc', }, deleteButton: { flex: 1, backgroundColor: 'red', justifyContent: 'center', alignItems: 'flex-end', paddingRight: 16, }, deleteButtonText: { color: 'white', }, }); export default SwipeToDeleteScreen; ``` 这是一个简单的滑动删除示例,通过FlatList和Swipeable组件实现了一个可滑动删除的列表。在这个示例中,每个列表项都可以向右滑动,显示一个红色的删除按钮,点击删除按钮后,对应的列表项会被删除

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值