这里的代码工作,但我不知道如何点击我的组件之一>与该代码的数组我可以改变颜色。 但我想知道我怎么能不改变颜色的时候我已经在一个改变>组件感谢未来的答案我怎样才能选择我的组件阵列的只有一个组件
import React, { Component } from 'react';
export default class Seats extends Component {
constructor() {
super()
this.state = {
status: false,
};
}
changeColor(event) {
if (this.state.status === false) {
event.currentTarget.style.backgroundColor = '#D70202';
this.state.status = true;
}else {
this.state.status = false;
event.currentTarget.style.backgroundColor = '#0CB607';
}
}
render() {
let array = [];
for (var i = 0; i < 5; i++) {
array[i] = i;
}
const list = array.map((d, index) => <div className="seat" onClick={this.changeColor.bind(this)} key={index}></div>);
return (
<div>
{list}
</div>
);
}
}
.seat {
background-color: #0CB607;
border: 1px solid black;
height: 90px;
width: 90px;
}
不太理解你的问题。你是否说过,一旦点击了其中一个数组元素,你不希望其他人被点击并改变颜色?或者如果点击另一个,你想让当前选中的一个返回到正常的颜色并改变新点击的颜色? – Jayce444
我不希望任何其他人被点击,直到我再次点击我做的那个 – NelsonT20