[英]MUI's Chip Component change background color when selected
我正在反应和使用 MUI 的Chip
组件。 我想让它在被选中后改变背景颜色而不是通用默认颜色。
如果您要在用户单击组件时更改背景颜色,我曾尝试使用“全局样式”。
请看下面我的意思:
tokenChip: {
height: '40px',
width: '125px',
fontSize: '18px',
'&:hover': {
backgroundColor: 'red'
}
<Chip
className={ classes.tokenChip }
clickable
classes={{ clickableColorPrimary: 'red', clickableColorSecondary:'blue'
avatar={<Avatar
style={{ padding: '2px' }}
alt="Clickable"
/>}
label="Clickable"
variant="filled" />
我试图查看 CSS 对象中的 hover 属性是否有任何作用,但它没有。
这是用于更改Chip
颜色和添加悬停颜色的代码和框示例。 我添加了 2 个元素,一个有color
,一个没有color
属性。 https://codesandbox.io/s/chip-https-stackoverflow-com-questions-69652571-material-uis-chip-component-change-background-color-when-it-is-selected-cv8ud?file=/src /App.js
import "./styles.css";
import {Chip} from '@material-ui/core';
export default function App({classes}) {
const handleClick = () => {
alert('You clicked the Chip.');
};
return (
<div>
<Chip
className="tokenChip"
label="Clickable"
onClick={handleClick}
/>
<Chip
className="tokenChip2"
label="Clickable"
color="primary"
onClick={handleClick}
/>
</div>
);
}
.tokenChip {
background-color: pink;
width: 100px;
}
.MuiChip-clickable:hover {
background-color: yellow;
}
.MuiChip-clickableColorPrimary:hover {
background-color: black;
}
阅读有关芯片的更多信息 - https://mui.com/components/chips/
您可以根据选定的状态更改Chip
跟随道具以控制其显示(请参阅此交互式示例):
color
:改变Chip
的颜色。variant
:使用上面的color
道具更改Chip
的边框颜色或背景颜色。deleteIcon
: 显示后缀图标。onDelete
: 传递一个空函数来显示后缀图标,如果为空,则隐藏图标。const [selected, setSelected] = React.useState(false);
return (
<Chip
onClick={() => setSelected((s) => !s)}
onDelete={selected && (() => {})}
color={selected ? "primary" : "default"}
variant={selected ? "default" : "outlined"}
deleteIcon={<Done />}
label="Choice"
avatar={<Avatar alt="Natacha" src="/static/images/avatar/1.jpg" />}
/>
);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.