我已将一组单词映射到按钮组。在州,我有一个索引和一个颜色值
this.state = {
selectedWordIndex:'', //e.g. 3
selectedWordColor:'' //e.g. rgb(137,197,8)
}
索引和颜色在另一个函数中设置。
var counter = -1;
return this.state.sentenceArray.map((word) => {
counter += 1
return (
<button
key={counter}
type="button"
className="btn btn-default"
style={{}}>{word}</button>);});
如何更改索引按钮的颜色?
答案 0 :(得分:1)
因此,如果您想使用索引=== this.state更改按钮的颜色。 selectedWordIndex,以下代码应该可以工作。
var counter = -1;
return this.state.sentenceArray.map((word) => {
counter += 1
return (
<button
key={counter}
type="button"
className="btn btn-default"
style={ this.state.selectedWordIndex === counter ?
{ color:this.state.selectedWordColor } :
{}
}
>{word}</button>);});