作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在构造一个对象,并且只有一个属性应该根据另一个值进行更改,因此开关是理想的选择,但我不能将开关放在对象的初始化中。我知道这可能相当简单,但我是 JS 新手。
class DegreesCircle extends React.Component {
constructor(props) {
super(props);
this.state = {
type: this.props.type,
degrees: this.props.degrees
}
}
render() {
let circleStyle = {
position: "relative",
left: "50%",
top: "45%",
transform: "translate(-50%, 0)",
//I need this to change according to this.props.type
//I'd put a switch in here if I could
borderColor: "a value",
borderStyle: "solid",
borderWidth: "0.5vh",
borderRadius: "50%",
width: "20vh",
height: "20vh",
}
如何仅更改 CircleStyle 的 borderColor 属性?
编辑:我不想把开关放在前面什么的。我正在考虑更改对象的一个属性。
最佳答案
您可以使用扩展语法
let circleStyle = {
position: "relative",
left: "50%",
top: "45%",
transform: "translate(-50%, 0)",
borderStyle: "solid",
borderWidth: "0.5vh",
borderRadius: "50%",
width: "20vh",
height: "20vh",
}
switch (this.props.type) {
case x:
circleStyle = {
...circleStyle,
borderColor: value,
}
break;
case y:
....
关于javascript - 如何仅更改对象的一个属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61037511/
我是一名优秀的程序员,十分优秀!