【发布时间】:2021-07-26 20:22:22
【问题描述】:
const [tag, setTag] = useState([]);
const [selectedItem, setSelectedItem] = useState("");
const dataSource = [
{ id: 1, name: "Sad af" },
{ id: 2, name: "Sad boy" },
{ id: 3, name: "idk" },
{ id: 4, name: "Sad" },
{ id: 5, name: "Javascript" },
{ id: 6, name: "Kode" } ]
<View style={styles.row}>
{dataSource.map((item, index) => {
return (
<View
style={{
margin: 5,
flexWrap: "wrap",
}}
>
<Chip
key={item}
height={35}
textStyle={
selectedItem === item.name
? styles.pressChipText
: styles.chipText
}
style={
selectedItem === item.name
? styles.pressChip
: styles.chip
}
onPress={() => {
setSelectedItem(item.name), setTag(item.name);
}}
>
{item.name}
</Chip>
</View>
);
})}
</View>
所以我正在尝试向标签状态添加更多值,以便用户可以向标签状态添加更多值。目前,该代码只允许将一个值存储在标签中。我想给标签状态添加一个或多个值的选项。你们有什么聪明的主意吗?我正在使用 react-paper-chips 来可视化设计。
【问题讨论】:
-
您正在尝试实现一种多选列表?
-
是的,没错。
-
您可以在您的状态中存储一个选定项目的数组,每次按下一个项目时,您都可以将该项目推入该数组
标签: arrays reactjs react-native react-hooks