Reactjs 如何使此平面列表在react native中无限滚动 import React,{Component}来自'React'; 进口{ 样式表, 文本, 看法 形象,, 可触摸不透明度, 平面列表, 尺寸, 滚动视图, 警觉的 }从“反应本机”; 导出默认类用
如何使此平面列表在react native中无限滚动Reactjs 如何使此平面列表在react native中无限滚动 import React,{Component}来自'React'; 进口{ 样式表, 文本, 看法 形象,, 可触摸不透明度, 平面列表, 尺寸, 滚动视图, 警觉的 }从“反应本机”; 导出默认类用,reactjs,react-native,Reactjs,React Native,如何使此平面列表在react native中无限滚动 import React,{Component}来自'React'; 进口{ 样式表, 文本, 看法 形象,, 可触摸不透明度, 平面列表, 尺寸, 滚动视图, 警觉的 }从“反应本机”; 导出默认类用户扩展组件{ 建造师(道具){ 超级(道具); 此.state={ 数据:[ {id:1,类型:“投资方”,名称:“Vishal Jain”,描述:“Lorem ipsum dolor sit amet,Concertetuer Adipisi
import React,{Component}来自'React';
进口{
样式表,
文本,
看法
形象,,
可触摸不透明度,
平面列表,
尺寸,
滚动视图,
警觉的
}从“反应本机”;
导出默认类用户扩展组件{
建造师(道具){
超级(道具);
此.state={
数据:[
{id:1,类型:“投资方”,名称:“Vishal Jain”,描述:“Lorem ipsum dolor sit amet,Concertetuer Adipising Elite”,日期:“2019-03-25 09:12:00”,颜色:“228B22”,完成时间:1},
{id:2,类型:“投资方”,名称:“Vishal Jain”,描述:“Aenean massa.Cum Sociais natoque penatibus et magnis.”,日期:“2019-03-25 10:23:00”,颜色:“FF00FF”,完成日期:0},
{id:3,类型:“投资方”,名称:“Vishal Jain”,描述:“nascetur ridiculus mus.Donec quam felis,ultricies dnec”,日期:“2019-03-25 11:45:00”,颜色:“4B0082”,完成日期:1},
{id:4,类型:“投资方”,名称:“Vishal Jain”,描述:“Donec pede justo,fringilla vel,aliquet nec,vulputdate.”,日期:“2019-03-25 09:27:00”,颜色:“20B2AA”,完成日期:0},
{id:5,类型:“投资方”,名称:“Vishal Jain”,描述:“Nullam dictum felis eu ped mollis pretium.Integer tirr.”,日期:“2019-03-25 08:13:00”,颜色:“000080”,完成日期:0},
{id:6,类型:“投资方”,名称:“Vishal Jain”,描述:“ultricies nisi.Nam eget dui.Etiam rhoncus.Maecenas st.”,日期:“2019-03-25 10:22:00”,颜色:“FF4500”,完成日期:1},
{id:7,类型:“投资方”,名称:“Vishal Jain”,描述:“Lorem ipsum Door sit amet,Concettetor Adipsing Elite.”,日期:“2019-03-25 13:33:00”,颜色:“#FF0000”,完成:0},
{id:8,类型:“投资方”,名称:“Vishal Jain”,描述:“Maecenas nec odio et ante tincidunt tempus.Donec vitae”,日期:“2019-03-25 11:56:00”,颜色:“EE82EE”,完成日期:0},
{id:9,类型:“投资方”,名称:“Vishal Jain”,描述:“Lorem ipsum dolor sit amet,Concertetuer Adipising Elite”,日期:“2019-03-25 15:00:00”,颜色:“6A5ACD”,完成日期:0},
{id:10,类型:“投资方”,名称:“Vishal Jain”,描述:“Aenean imperdiet.Etiam ultricies nisi vel augues aasde”,日期:“2019-03-25 12:27:00”,颜色:“DDA0DD”,完成日期:0},
]
};
}
单击事件侦听器=(项目)=>{
Alert.Alert(“所选项目:”+项目说明)
}
__getCompletedIcon=(项目)=>{
如果(item.completed==1){
返回“https://img.icons8.com/flat_round/64/000000/checkmark.png";
}否则{
返回“https://img.icons8.com/flat_round/64/000000/delete-sign.png";
}
}
__getDescriptionStyle=(项)=>{
如果(item.completed==1){
返回{textDecorationLine:“行通过”,fontStyle:“斜体”,颜色:“#808080”};
}
}
render(){
返回(
{
返回item.id;
}}
renderItem={({item})=>{
返回(
{this.clickEventListener(项目)}>
{/* */}
{item.name}({item.type})
{item.description}
{item.date}
)}}
/>
);
}
}
const styles=StyleSheet.create({
容器:{
弹性:1,
玛金托普:20,
背景色:“eeeeee”
},
任务:{
弹性:1,
},
卡片内容:{
marginLeft:20,
玛金托普:10,
},
图片:{
宽度:25,
身高:25,
},
卡片:{
阴影颜色:'#00000021',
阴影偏移:{
宽度:0,
身高:6,
},
阴影不透明度:0.37,
阴影半径:7.49,
标高:12,
玛吉:10,
marginHorizontal:20,
背景颜色:“白色”,
flexBasis:“46%”,
填充:10,
flexDirection:“行”,
flexWrap:“wrap”,
边线宽度:6,
},
说明:{
尺码:18,
弹性:1,
颜色:“008080”,
字体权重:'粗体',
},
日期:{
尺寸:14,
弹性:1,
颜色:#696969“,
玛金托普:5
},
});
,在这篇漂亮的文章中搜索无限滚动
。这能回答你的问题吗?
import React, { Component } from 'react';
import {
StyleSheet,
Text,
View,
Image,
TouchableOpacity,
FlatList,
Dimensions,
ScrollView,
Alert
} from 'react-native';
export default class Users extends Component {
constructor(props) {
super(props);
this.state = {
data: [
{id:1, type:"Invester",name:"Vishal Jain", description:"Lorem ipsum dolor sit amet, consectetuer adipiscing elit.", date:"2019-03-25 09:12:00", color:"#228B22", completed:1},
{id:2, type:"Invester",name:"Vishal Jain", description:"Aenean massa. Cum sociis natoque penatibus et magnis.", date:"2019-03-25 10:23:00", color:"#FF00FF", completed:0},
{id:3, type:"Invester",name:"Vishal Jain", description:"nascetur ridiculus mus. Donec quam felis, ultricies dnec.", date:"2019-03-25 11:45:00", color:"#4B0082", completed:1},
{id:4, type:"Invester",name:"Vishal Jain", description:"Donec pede justo, fringilla vel, aliquet nec, vulputdate.", date:"2019-03-25 09:27:00", color:"#20B2AA", completed:0},
{id:5, type:"Invester",name:"Vishal Jain", description:"Nullam dictum felis eu pede mollis pretium. Integer tirr.", date:"2019-03-25 08:13:00", color:"#000080", completed:0},
{id:6, type:"Invester",name:"Vishal Jain", description:"ultricies nisi. Nam eget dui. Etiam rhoncus. Maecenas st.", date:"2019-03-25 10:22:00", color:"#FF4500", completed:1},
{id:7, type:"Invester",name:"Vishal Jain", description:"Lorem ipsum dolor sit amet, consectetuer adipiscing elit.", date:"2019-03-25 13:33:00", color:"#FF0000", completed:0},
{id:8, type:"Invester",name:"Vishal Jain", description:"Maecenas nec odio et ante tincidunt tempus. Donec vitae .", date:"2019-03-25 11:56:00", color:"#EE82EE", completed:0},
{id:9, type:"Invester",name:"Vishal Jain", description:"Lorem ipsum dolor sit amet, consectetuer adipiscing elit.", date:"2019-03-25 15:00:00", color:"#6A5ACD", completed:0},
{id:10, type:"Invester",name:"Vishal Jain", description:" Aenean imperdiet. Etiam ultricies nisi vel augues aasde.", date:"2019-03-25 12:27:00", color:"#DDA0DD", completed:0},
]
};
}
clickEventListener = (item) => {
Alert.alert("Item selected: "+item.description)
}
__getCompletedIcon = (item) => {
if(item.completed == 1) {
return "https://img.icons8.com/flat_round/64/000000/checkmark.png";
} else {
return "https://img.icons8.com/flat_round/64/000000/delete-sign.png";
}
}
__getDescriptionStyle = (item) => {
if(item.completed == 1) {
return {textDecorationLine:"line-through", fontStyle:'italic', color:"#808080"};
}
}
render() {
return (
<View style={styles.container}>
<FlatList
style={styles.tasks}
columnWrapperStyle={styles.listContainer}
data={this.state.data}
keyExtractor= {(item) => {
return item.id;
}}
renderItem={({item}) => {
return (
<TouchableOpacity style={[styles.card, {borderColor:item.color}]} onPress={() =>{this.clickEventListener(item)}}>
{/* <Image style={styles.image} source={{uri: this.__getCompletedIcon(item)}}/> */}
<View style={styles.cardContent}>
<Text style={{fontSize:18,flex:1,color:"#000",fontWeight:'bold',}} >{item.name} ({item.type})</Text>
<Text style={[styles.description, this.__getDescriptionStyle(item)]}>{item.description}</Text>
<Text style={styles.date}>{item.date}</Text>
</View>
</TouchableOpacity>
)}}
/>
</View>
);
}
}
const styles = StyleSheet.create({
container:{
flex:1,
marginTop:20,
backgroundColor:"#eeeeee"
},
tasks:{
flex:1,
},
cardContent: {
marginLeft:20,
marginTop:10,
},
image:{
width:25,
height:25,
},
card:{
shadowColor: '#00000021',
shadowOffset: {
width: 0,
height: 6,
},
shadowOpacity: 0.37,
shadowRadius: 7.49,
elevation: 12,
marginVertical: 10,
marginHorizontal:20,
backgroundColor:"white",
flexBasis: '46%',
padding: 10,
flexDirection:'row',
flexWrap: 'wrap',
borderLeftWidth:6,
},
description:{
fontSize:18,
flex:1,
color:"#008080",
fontWeight:'bold',
},
date:{
fontSize:14,
flex:1,
color:"#696969",
marginTop:5
},
});