
7

React native swipeable list view
source link: https://reactnativeexample.com/react-native-swipeable-list-view/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

react-native-swipeable-list-view
Example:
Installation
In order to use this package, you will also need to install react-native-gesture-handler to your project.
Using npm:
npm i --save react-native-swipeable-list-view react-native-gesture-handler
or using yarn:
yarn add react-native-swipeable-list-view react-native-gesture-handler
Usage:
import React from 'react';
import {
StyleSheet,
Text,
SafeAreaView,
TouchableOpacity,
Image,
Alert,
View
} from 'react-native';
import Swipelist from 'react-native-swipeable-list-view';
const data = [
{
name: 'Javascript',
},
{
name: 'React Native',
},
{
name: 'Swift',
},
];
const App = () => {
return (
<SafeAreaView>
<Swipelist
data={data}
renderRightItem={(data, index) => (
<View key={index} style={styles.container}>
<Text>
{index + 1}. {data.name}
</Text>
</View>
)}
renderHiddenItem={(data, index) => (
<View style={{ flexDirection: 'row' }}>
<TouchableOpacity
style={[styles.rightAction, { backgroundColor: '#bfbfbf' }]}
onPress={() => {
Alert.alert('Edit?', data.name);
}}
>
<Image
source={require('./pen.png')}
style={{ width: 25, height: 25 }}
/>
</TouchableOpacity>
<TouchableOpacity
style={[styles.rightAction, { backgroundColor: 'red' }]}
onPress={() => {
Alert.alert('Delete?', data.name);
}}
>
<Image
source={require('./tash.png')}
style={{ width: 25, height: 25 }}
/>
</TouchableOpacity>
</View>
)}
rightOpenValue={200}
/>
</SafeAreaView>
);
};
const styles = StyleSheet.create({
container: {
height: 60,
marginVertical: 10,
backgroundColor: '#ffffff',
justifyContent: 'center',
paddingLeft: 10,
shadowColor: '#000',
shadowOffset: {
width: 0,
height: 2,
},
shadowOpacity: 0.25,
shadowRadius: 3.84,
elevation: 5,
},
rightAction: {
width: '100%',
marginVertical: 10,
alignItems: 'center',
flex: 1,
justifyContent: 'center',
height: 60,
backgroundColor: '#ffffff',
shadowColor: '#000',
shadowOffset: {
width: 0,
height: 2,
},
shadowOpacity: 0.25,
shadowRadius: 3.84,
elevation: 5,
},
});
export default App;
Properties
Prop | Default | Type | Description |
---|---|---|---|
data | – | array | objects to be passed into the renderItem and renderHiddenItem functions (is Required). |
renderRightItem | – | function | How to render a row. Should return a valid React Element (is Required). |
renderHiddenItem | – | function | How to render a hidden row in a List (renders behind the row). Should return a valid React Element (is Required). |
rightOpenValue | 200 | number | TranslateX value for opening the row to the right (positive number) (is Required). |
onSwipelistOpen | – | function | Called when row gets open. |
onSwipelistClose | – | function | Called when row is closed. |
overshootRight | false | boolean | a boolean value indicating if the swipeable row can be pulled further than the right actions row width. |
friction | 1 | number | a number that specifies how much the visual interaction will be delayed compared to the gesture distance. e.g. value of 1 will indicate that the swipeable panel should exactly follow the gesture, 2 means it is going to be two times “slower”. |
GitHub
</div
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK