react-native - 从对象数组中更改选定项的边框颜色
问题描述
我想从我的数组中更改所选项目的边框颜色,我会将其映射到按钮 数组= [{id: 0, name: "josh" }, {id: 1, name: "tim"}, {id :2,名称:“乔纳森”}]。我怎样才能做到这一点?如果我从按钮中选择 1,所有边框颜色都会改变。请帮助我,我是 React Native 的新手。谢谢
解决方案
您可以创建两种样式,一种用于简单项目,另一种用于选定项目。然后你可以根据条件申请。这是示例:
import React from "react";
import { FlatList, TouchableOpacity, StyleSheet, Text } from "react-native";
import { useState } from "react";
const YourComponent = () => {
const yourArray = [
{ id: 0, name: "josh" },
{ id: 1, name: "tim" },
{ id: 2, name: "jonathan" },
];
const [selectedItem, setSelectedItem] = useState(null);
return (
<FlatList
data={yourArray}
extraData={yourArray}
keyExtractor={(item) => item.id.toString()}
renderItem={({item, index}) => (
<TouchableOpacity
style={[styles.listItem, selectedItem === item.id ? styles.selectedItem : null]}
onPress={() => setSelectedItem(item.id)}
>
<Text>{item.name}</Text>
</TouchableOpacity>
)}
/>
);
};
const styles = StyleSheet.create({
container: {
flex: 1,
},
listItem: {
padding: 10,
borderWidth: 1,
borderColor: '#dddddd'
},
selectedItem: {
borderColor: '#00ff00',
},
});
export default YourComponent;
推荐阅读
- laravel - 给出目标类路由器的 PHP 代码覆盖率命令不存在错误
- c# - 在结构图中注入 IHttpClientFactory
- python - 使用 For Loop 运行多个功能/模型属性(python)
- c# - 将 where 子句添加到 context.Set
在 EntityFrameworkCore - reactjs - 通过变量将自定义 CSS 类添加到返回的 jsx
- visual-studio - 如何更改 CodeLens 显示的内容
- css - 在 scss 中访问 mixin 嵌套元素
- laravel - Laravel SMTP 530 5.7.0 必须先发出 STARTTLS 命令
- javascript - 如何让我的 Discord Bot 对类似消息回复相同的答案?JavaScript
- firebase - 如何将firebase实时数据库更改为云firestore数据库?