当前位置: 首页 > 知识库问答 >
问题:

如何在手动类名中动态添加类?

惠诚
2023-03-14

我需要向常规类列表中添加一个动态类,但不知道如何添加(我使用的是babel),如下所示:

<div className="wrapper searchDiv {this.state.something}">
...
</div>

有什么想法吗?

共有3个答案

萧树
2023-03-14

一个简单的可能语法是:

<div className={`wrapper searchDiv ${this.state.something}`}>
酆茂才
2023-03-14

根据项目增长时需要添加多少动态类,可能值得在GitHub上查看JedWatson的类名实用程序。它允许您将条件类表示为对象,并将求值的类返回为true。

因此,作为React文档中的一个示例:

render () {

var btnClass = classNames({
  'btn': true,
  'btn-pressed': this.state.isPressed,
  'btn-over': !this.state.isPressed && this.state.isHovered
});

return <button className={btnClass}>I'm a button!</button>;

} 

由于React会在状态发生更改时触发重新呈现,因此动态类名会自然处理,并随组件的状态保持最新。

何嘉运
2023-03-14

您可以使用普通JavaScript执行以下操作:

className={'wrapper searchDiv ' + this.state.something}

或字符串模板版本,带有反勾号:

className={`wrapper searchDiv ${this.state.something}`}

当然,这两种类型都只是JavaScript,但第一种模式是传统类型。

无论如何,在JSX中,任何用花括号括起来的东西都是作为JavaScript执行的,所以基本上你可以在那里做任何你想做的事情。但是,组合JSX字符串和花括号是不适合属性的。

 类似资料:
  • 本文向大家介绍vue中动态添加class类名的方法,包括了vue中动态添加class类名的方法的使用技巧和注意事项,需要的朋友参考一下 vue 动态添加class类名,灵活得让你发狂,下面示例几个 以上这篇vue中动态添加class类名的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 问题内容: 如何在Android中动态添加按钮? 问题答案:

  • 问题内容: 我正在做的事情非常精简,可以解决问题。 我有一个简单的。每当您单击一个元素时,它都会添加另一个元素。但是,需要先对其进行编译才能正确呈现。 我的研究使我走向了。但是所有示例都使用了一个复杂的结构,我真的不知道如何在这里应用它。 小提琴在这里:http : //jsfiddle.net/paulocoelho/fBjbP/1/ JS在这里: Josh David Miller的解决方案:

  • 问题内容: 目标是创建一个行为类似db结果集的模拟类。 因此,例如,如果数据库查询使用表达式返回,那么我想看看: 刚开始我以为我可以这样做: 但返回一个属性对象。 用替换该行根本没有用。 那么在运行时创建实例属性的正确方法是什么? 问题答案: 我想我应该扩大这个答案,因为我年纪大一些并且比较聪明,并且知道发生了什么事。迟到总比不到好。 你可以动态地向类添加属性。但这很重要:你必须将其添加到类中。

  • 问题内容: 使用RESTEasy,我实现了Application的子类来提供单例资源列表。有没有办法稍后动态添加另一个单例?我尚未从API文档中找到实现此目的的方法。 问题答案: 我自己还没有尝试过,但是我发现了一个博客文章,其中对此进行了描述:http : //sarbarian.wordpress.com/2010/03/07/resteasy-and- osgi-perfect-match/

  • 我有以下代码: 在这部分代码中: 如果存在过滤器,则将过滤器应用于流; 想要对此流进行一些偏移和限制,但这不起作用,因为“应该只对一个流进行一次操作(调用中间或终端流操作)”。 映射到dto对象并收集为列表。 如何以其他方式进行流操作skip()和limit()。提前感谢。