当前位置: 首页 > 面试题库 >

React onClick将类添加到clicked元素,但从其他元素中删除

谭灿
2023-03-14
问题内容

所以我在这里想要实现的功能与在此处实现的功能非常相似flexbox中项目的过渡弹性增长

但是我想知道如何用React做到这一点

class MyComponent extends React.Component {
constructor(props) {
    super(props);

    this.state = {
        classNameToUse: ''
    };

    this.onElementClicked = this.onElementClicked.bind(this);
}

onElementClicked() {
    this.setState({ classNameToUse : 'big-size'})
}

render() {

    return (
        <div>
            <div className={this.state.classNameToUse} onClick={this.onElementClicked} >
              something
            </div>
            <div className={this.state.classNameToUse onClick={this.onElementClicked} >
               something else
            </div>
        </div>
       );
    }
}

当然,这会向它们两个都添加className,但是我要实现的是,其中一个随着动画而变大而另一个崩溃。而且我有2或10个元素都没关系


问题答案:

您可以在点击时设置活动索引:

// State
this.state = {
  activeIndex: null
};
// event
onElementClicked(e) {
  this.setState({ activeIndex: e.target.index })
}
// class to use
className={this.index === this.state.activeIndex ? 'big-size' : ''}


 类似资料:
  • 问题内容: 说我有一个和我和使用jQuery的元素。我如何检测元素上何时发生此类事件? 问题答案: 不推荐使用以下方法 您可以使用DOMNodeInserted和DOMNodeRemoved

  • 问题内容: 我有一个非常大的.xml文件,我正在尝试制作一个新的.xml文件,该文件只包含了该较大文件内容的一小部分。我想指定一个属性(在我的情况下为itemID),并为其指定一些特定的值,然后它将除去所有具有那些itemID及其子元素的元素。 我的大型.xml文件如下所示: 该文件大约有9万行,大约9兆字节。 注意如何有itemID,某些项目类型可以(但不总是)在其中包含更多项目,并且这些子项也

  • 问题内容: 我正在使用Selenium将Web测试添加到我的项目中。我已经有很多使用以下方法检查特定元素的测试: 这很好。现在,我还有另一个要求。这是在我生成的页面中: 如何掌握错误消息?我想要一些允许我在dateElement之后请求带有“错误”类的span元素的东西。 (此错误消息是由Spring MVC合并的,因此直接更改它并不容易。我想可能是这样,但我不希望这样做)。 任何其他想法都欢迎。

  • 本文向大家介绍jQuery 添加元素和删除元素的方法,包括了jQuery 添加元素和删除元素的方法的使用技巧和注意事项,需要的朋友参考一下 添加新的 HTML 内容 我们将学习用于添加新内容的四个 jQuery 方法: append() - 在被选元素的结尾插入内容 prepend() - 在被选元素的开头插入内容 after() - 在被选元素之后插入内容 before() - 在被选元素之前插

  • 问题内容: 我正在尝试将元素添加到python中的json文件中,但我无法做到这一点。 这是我直到现在尝试的内容(删除了一些变化): 但是,我得到的是: 很好,因为我还需要添加一个新行而不是一个元素,但是我想得到这样的东西: 我应该如何添加新元素? 问题答案: 你可以这样做。