css 在React.js中悬停并移除项目

ufj5ltwl  于 2023-01-22  发布在  React
关注(0)|答案(1)|浏览(153)

在我的todolist中,我有一列任务,每一个任务都有自己的状态:

state = {
        hover: false
    }

和事件:

switchHover = () => {
        this.setState({ hover: !this.state.hover });
    }

     onMouseEnter={this.switchHover}
     onMouseLeave={this.switchHover}

当任务处于活动状态时,它会显示删除和编辑图标,这些图标的类的状态会发生变化。当您删除任务时,下面的任务会跳转,并且onMouseEnter事件不会激活,这会导致状态与所需的相反。当项目未悬停时,我的图标会显示,而当项目悬停时,图标不会显示。下面是我的图标:

<span
       onClick={this.removeTask}
       className={this.state.hover ? 'task__remove-icon visible' :
           'task__remove-icon hidden'}>
       &#x2715;
   </span>

here is image of my list那么,我该如何解决这个问题呢?

oxcyiej7

oxcyiej71#

用css实现这样的功能会更容易,也更正确,就像这里用图标和内容一样

.card {
  display: flex;
  justify-content: around;
  align-items: center;
  padding: 15px;
  border: 1px solid gray;
  background-color: yellow;
}

.task__remove-icon {
  display: none;
  margin: 0px 20px;
}

.card:hover .task__remove-icon {
  display: block;
  background-color: blue;
}
<div class='card'>
  <span> some content</span>
  <button class='task__remove-icon'>Remove</button>
</div>

相关问题