【发布时间】:2022-01-23 10:31:38
【问题描述】:
我在一个电子商务网站上工作,我需要根据颜色显示产品尺寸。所有可用尺寸都可以点击,而其他尺寸将被禁用。这是我的 SizeVariant 组件代码。
import React from "react";
import styled from "styled-components";
const SizeVariant = ({ text, ...props }) => {
return (
<StyledSizeVariant {...props}>
<input type="radio" name="text" id={text} value={text} />
<label htmlFor={text}>{text}</label>
</StyledSizeVariant>
);
};
const StyledSizeVariant = styled.div`
input[type="radio"] {
display: none;
&:checked + label {
box-shadow: 0px 0px 2px #7d7d31;
border: 2px solid #FFCD4E;
} //
}
label {
display: inline-block;
padding: 0 1rem;
height: 30px;
margin-right: 10px;
cursor: pointer;
font-weight: 600;
box-shadow: 0px 0px 1px rgba(0, 0, 0, 1);
text-align: center;
display: flex;
align-items: center;
font-size: 16px;
}
`;
export default SizeVariant;
我有一个尺寸数组。
<FlexBox alignItems="center" mb="16px">
{sizeList && sizeList.map((item) => (
<SizeVariant key={item.attribute_title} text={item.attribute_title} onClick={(e) => handlePrice(item)} />
))}
</FlexBox>
在某些情况下,我想禁用 sizeList 数组中的某些尺寸(即单选按钮)。我该怎么做?
【问题讨论】:
标签: javascript reactjs radio-button