const Home = () => {
const [display, setDisplay] = useState(1);
const managedList = [
{ name: "John Doe1" },
{ name: "John Doe2" },
{ name: "John Doe3" },
{ name: "John Doe4" },
{ name: "John Doe5" },
{ name: "John Doe12" },
{ name: "John Doe13" },
{ name: "John Doe14" },
{ name: "John Doe15" }
];
return (
<View style={{ flex: 1 }}>
<FlatList
data={managedList}//{managedList.slice(display - 1, display)}
keyExtractor={mohan => mohan.name}
renderItem={({ item }) => {
return <TouchableOpacity style={styles.menuStyle} onPress={() => {
setDisplay(display + 1);
}}><Text>{item.name}</Text></TouchableOpacity>
}}
/>
{/* <Button
title="Show Next"
onPress={() =>
{
setDisplay(display + 1);
}}
/> */}
</View>
);
};
这是我的代码
我想要这样的输出...
- 如果我单击John Doe12数据,此数据将显示在页面顶部,如...
- 我点击John Doe12这个数据来代替Josh Doe1
- 和Josh Doe1的数据转移到Josh Doe2的位置
- 和Josh Doe2数据到Josh Doe3的下一级位置
1条答案
按热度按时间wa7juj8i1#
你可以这样做。用一个状态来存储显示数据。当一个对象被单击时,通过所选对象和剩余的列表重新创建一个数组。
函数组件
类组件