问答

react 相互切换选中样式

作者:admin 2021-07-19 我要评论

先看图就想实现这样的效果: 默认开始是“用户发展选中了” 然后点“产品发展”被选中的效果 小白react一枚,换成JQ30秒内就搞定。react语法茫然...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

先看图就想实现这样的效果:
默认开始是“用户发展选中了”
image.png

然后点“产品发展”被选中的效果
image.png

小白react一枚,换成JQ30秒内就搞定。react语法茫然啊。。。
class这块
userDevAction “用户发展”选中的样式
productDevAction “产品发展”选中的样式

请react大神指点

<div className={styles.devType}>
          <div className={`${styles.userDev} ${styles.userDevAction}`} onClick={this.userDevClick}>
            <i className={styles.iconUserDev} />
            <p>用户发展</p>
          </div>
          <div className={styles.productDev} onClick={this.productDevClick}>
            <i className={styles.iconProductDev} />
            <p>产品发展</p>
          </div>
        </div>
###

首先要有一个状态表示谁被选中了 status 可选值'user''product'

status存state里就可以了

点击就把相应的值赋给 status

然后

<div className={styles.devType}>
  <div className={`${styles.userDev} ${status === 'user' ? styles.userDevAction : ''}`} onClick={this.userDevClick}>
    <i className={styles.iconUserDev} />
    <p>用户发展</p>
  </div>
  <div className={`${styles.productDev} ${status === 'product' ? styles.productDevAction : ''}`} onClick={this.productDevClick}>
    <i className={styles.iconProductDev} />
    <p>产品发展</p>
  </div>
</div>
###

没用过react,但是看你的代码结果,我觉得可以在calssName里写个三元表达式
className={flag?'高亮样式':'不高亮的样式'} // 用户
className={!flag?'高亮样式':'不高亮的样式'}//产品
flag可以是个判断,点击用户发展的事件给flag赋true,点击产品发展赋false

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • react 相互切换选中样式

    react 相互切换选中样式

  • 我正在做两个项目,一个是用户可以看到

    我正在做两个项目,一个是用户可以看到

  • react引入ts报错?

    react引入ts报错?

  • redis列表的问题

    redis列表的问题

腾讯云代理商
海外云服务器