我使用的是一个具有一些默认类的组件TextAreaField。我想知道如何向该组件推送或添加新类。
<TextAreaField
name="summary"
label={{ id: 'Form.Summary' }}
maxLength={200}
rows={1}
readOnly={readOnly}
/>
如果我像这样添加属性className
:
<TextAreaField
name="summary"
label={{ id: 'Form.Summary' }}
maxLength={200}
rows={1}
readOnly={readOnly}
className="new-class"
/>
然后我覆盖了现有的默认类,我只想添加一个新的类,我该怎么做呢?
发布于 2018-07-30 08:32:18
您可以像这样维护数组中的类:
let classes = ["class1", "class2"...];
然后,您可以使用标准的数组方法添加/删除类。将它们作为数组进行维护可以更容易地有条件地管理类。
您可以通过如下所示的空格连接所有类,从而将最终的类传递给组件:
<TextAreaField
name="summary"
label={{ id: 'Form.Summary' }}
maxLength={200}
rows={1}
readOnly={readOnly}
className={classes.join(" ")}
/>
发布于 2018-07-30 08:16:21
不使用className
,而使用另一个属性名,如classNames
或classes
,并将其添加到默认类中。
发布于 2018-07-30 08:24:25
使用classnames库,它处理类的加入:
import React from 'react';
import classnames from 'classnames';
export default TextAreaField = ({ className }) => (
<Textarea className={ classnames('myDefaultClassName', className) } />
)
https://stackoverflow.com/questions/51589542
复制相似问题