推荐一款创新的React Native组件:Drag-and-Drop Flatlist
import React from 'react';
import { FlatList, View, Text, StyleSheet } from 'react-native';
import { TouchableOpacity } from 'react-native-gesture-handler';
export default class DraggableFlatList extends React.Component {
constructor(props) {
super(props);
this.state = {
data: props.data,
};
}
render() {
return (
<FlatList
data={this.state.data}
keyExtractor={(item, index) => item.key}
renderItem={({ item, index }) => (
<TouchableOpacity onPress={() => this.props.onItemPress(item, index)}>
<View style={styles.item}>
<Text style={styles.text}>{item.name}</Text>
</View>
</TouchableOpacity>
)}
/>
);
}
}
const styles = StyleSheet.create({
item: {
backgroundColor: '#f9c2ff',
padding: 20,
marginVertical: 8,
marginHorizontal: 16,
},
text: {
fontSize: 16,
},
});
这个简单的示例展示了如何创建一个可拖拽的FlatList组件。它使用了React Native和React Native Gesture Handler库,并提供了一个简单的FlatList,其中的列表项可以被拖拽。这个示例可以作为创建自定义拖拽组件的起点,并展示了如何通过props传递数据和事件处理函数。
评论已关闭