我正在使用React和Material ui并创建一个进度条。
我创建了以下类:
const useStyles = makeStyles({
progressSegment: {
display: "flex",
},
item: {
width: "100%",
backgroundColor: "lightgray",
marginRight: 2,
height: 8,
"&:first-child": {
borderTopLeftRadius: 3,
borderBottomLeftRadius: 3,
},
"&:last-child": {
borderTopRightRadius: 3,
borderBottomRightRadius: 3,
},
"&.red-common": {
background: "#D1132A",
},
"&.gold-common": {
background: "#EBA75C",
},
"&.orange-common": {
background: "#E4590F",
},
"&.yellow-common": {
background: "#FFCD0F",
},
"&.yellow-light-common": {
background: "#EACB16",
},
"&.green-light-common": {
background: "#C1C625",
},
"&.green-common": {
background: "#2CAC87",
},
},
});
然后在我的组件中,我创建了一些div
来呈现进度条。这就是我想要实现的目标:
这是我的组件:
export const SegmentedProgressBar = () => {
const classes = useStyles();
return (
<div className={classes.progressSegment}>
<div className={classes.item} />
<div className={classes.item} />
<div className={classes.item} />
<div className={classes.item} />
<div className={classes.item} />
<div className={classes.item} />
<div className={classes.item} />
</div>
);
};
问题是如何将这些类传递给我的第一个嵌套div:className=“item red common”
,然后依次传递给下一个嵌套的div
?
我想我可以使用clsx
库,但是我不确定如何使用。
提前谢谢!
编辑:对于寻找此解决方案的任何人,以下是我如何使用条件实现此解决方案:
import React from "react";
import { makeStyles } from "@material-ui/core/styles";
import PropTypes from "prop-types";
const useStyles = makeStyles({
progressSegment: {
display: "flex",
},
item: {
width: "100%",
backgroundColor: "lightgray",
marginRight: 2,
height: 8,
"&:first-child": {
borderTopLeftRadius: 3,
borderBottomLeftRadius: 3,
},
"&:last-child": {
borderTopRightRadius: 3,
borderBottomRightRadius: 3,
},
"&.red-common": {
background: "#D1132A",
},
"&.gold-common": {
background: "#EBA75C",
},
"&.yellow-common": {
background: "#FFCD0F",
},
"&.yellow-light-common": {
background: "#EACB16",
},
"&.green-common": {
background: "#2CAC87",
},
},
});
export const SegmentedProgressBar = ({ level = 0 }) => {
const classes = useStyles();
return (
<div className={classes.progressSegment}>
<div className={`${classes.item} ${level >= 1 && "red-common"}`} />
<div className={`${classes.item} ${level >= 2 && "gold-common"}`} />
<div className={`${classes.item} ${level >= 3 && "yellow-common"}`} />
<div
className={`${classes.item} ${level >= 4 && "yellow-light-common"}`}
/>
<div className={`${classes.item} ${level >= 5 && "green-common"}`} />
</div>
);
};
SegmentedProgressBar.propTypes = {
level: PropTypes.number,
};
你可以这样做
<div className={`${classes.item} ${classes.other-class}`}>
或者像你说的那样使用clsx。
https://nikitahl.com/how-to-assign-multiple-classes-in-react/
或者类似的事情:
<div className={[class1, class2, class3].join(' ')} />
我想你需要这样的东西
export const SegmentedProgressBar = () => {
const classes = useStyles();
return (
<div className={classes.progressSegment}>
<div className={`${classes.item} red-common`} />
<div className={`${classes.item} gold-common`} />
<div className={`${classes.item} orange-common`} />
<div className={`${classes.item} yellow-common`} />
<div className={`${classes.item} yellow-light-common`} />
<div className={`${classes.item} green-light-common`} />
<div className={`${classes.item} green-common`} />
</div>
);
};
我有一个这样的目标字符串:(然而嵌套在实践中可能非常深) 预期结果将是: 小组: 我在c#regex中找不到任何东西可以这样做嵌套捕获。有可能吗? 编辑: 我想我把我的例子简化得太多了,这使答案模糊不清。我需要以递归的方式捕获,因为我需要括号内的内容: 预期结果将是: 和
主要内容:Java11 嵌套类的示例,输出结果为Java 11 引入了嵌套类的概念,我们可以在类中声明一个类。这种类的嵌套允许在一个地方对要使用的类进行逻辑分组,使它们更具可读性和可维护性。嵌套类可以有四种类型 - 静态嵌套类 非静态嵌套类 本地类 匿名类 Java 11 还提供了嵌套的概念,以允许嵌套类的通信和验证。 Java11 嵌套类的示例 ApiTester.java 输出结果为
问题内容: 我如何指示JAXB处理此问题? XML格式 根java 这不起作用… allChildren为空。 问题答案: 您可以更改模型并执行以下操作: 根 父母 更新 有可能避免上课吗? 有两种不同的方法可以完成此操作: 选项#1-使用XmlAdapter的任何JAXB实现 您可以使用XmlAdapter虚拟添加类。 子适配器 根 该注释被用于引用。 儿童 选项#2-使用EclipseLink
我有以下java代码: 我的问题如下:我收到一个文本和一种语言,我必须检查该文本是否仅使用该语言的有效字母字符书写。我的代码如下: 这很好,也很有效,但随着我在应用程序中添加语言,我将不得不在交换机中添加越来越多的案例。 我想知道在中是否有一种方法可以动态命名一个静态嵌套类,比如: 所以我上面的代码可能是这样的: 谢谢,如果这是超级简单的事情,我很抱歉。 我是一名开发人员,正在学习。
目标 了解如何定义嵌套类和何时适合使用它们 了解使用嵌套类的副作用 了解 new 运算符在嵌套类中的特殊用法 了解如何和何时使用静态内部类和匿名内部类 在何处使用嵌套类 顾名思义,嵌套类(或内部类) 是在一个类中定义的另一个类。 public class EnclosingClass { . . . public class NestedClass { . . . } } 像成
当我试图使用ModelMapper将嵌套的java对象转换为嵌套的DTO时,我遇到了一个问题。在父DTO对象中,子DTO为null。以下是代码片段。 实体类: DTO的课程: 这是映射器代码: 输出: 输出用户DTO:UserDTO[名称=xyz,地址=null,产品=null] 在这里,我想将用户实体转换为UserDTO-dto。我得到了地址和产品DTO的空值。我在这里到底缺少什么?有人知道吗?