【发布时间】:2019-08-03 15:22:15
【问题描述】:
我在将对象添加到列表时遇到问题。我有一个楼层列表,每个楼层都有房间。我可以添加楼层,但我不知道如何将房间添加到楼层列表。
我尝试获取 floor[index] 或 id 但不起作用。我现在该怎么办?
export default class HomeWork extends Component {
constructor() {
super();
this.state = {
floors: [
{
floorId: 1, name: 'floor1', rooms: [
{ roomId: 1, name: 'new room' },
{ roomId: 2, name: 'new room' }]
},
{
floorId: 2, name: 'floor2', rooms: [
{ roomId: 1, name: 'new room' },]
}
]
}
}
addRoom(index) {
const RoomArr = [...this.state.floors[index].rooms]
RoomArr.push(
{ id: 2, roomName: 'New Room' });
this.setState({
// Stuck here too
})
}
render() {
return (
<View style={styles.parent}>
<View >
<FlatList
data={(this.state.floors)}
renderItem={({ item }) => {
return (
<View>
<View >
<Text>Floor {item.floorNumber}</Text>
<Text>Room per Floor:</Text>
<Text >{item.rooms.length}</Text>
<TouchableOpacity onPress={(index) => { this.addRoom(index) }}>
<Image source={Images.plusIcon}></Image>
</TouchableOpacity>
</View>
<FlatList
data={(item.rooms)}
numColumns={4}
renderItem={({ item }) => {
return (
<View>
<Text>{item.roomName}</Text>
</View>
)
}}
></FlatList>
</View>
)
}}
></FlatList>
</View>
</View>
)
}
}
我希望至少我可以得到楼层索引
【问题讨论】:
标签: javascript arrays react-native