要实现点击一个模块后将其背景颜色设为红色,可以通过以下方式进行实现:
首先,在组件的state中定义一个变量来记录当前被选中的模块。例如,可以在构造函数中初始化:
constructor(props) {
super(props);
this.state = {
selectedTab: null,
};
}
接下来,在点击事件处理函数onclickTabs
中更新selectedTab的值为被点击的模块名称,并触发组件重新渲染:
onclickTabs(tabName) {
this.setState({ selectedTab: tabName });
}
最后,在循环渲染模块列表时,根据selectedTab的值设置对应模块的背景颜色样式。例如,使用条件渲染和内联样式设置背景颜色为红色:
tabsButtonText.map((v, i) => {
return (
<div
onClick={() => this.onclickTabs(v)}
className="tabs-text"
key={i}
style={{
backgroundColor: v === this.state.selectedTab ? 'red' : 'initial',
}}
>
{v}
</div>
);
})
这样当点击某个模块时,该模块的背景颜色会变为红色,其他未选中的模块则保持默认颜色。
内容由零声教学AI助手提供,问题来源于学员提问