react 在index.module.less样式文件里 修改antd CheckableTag组件的.ant-tag-checkable-checked样式。 样式不生效
时间: 2024-03-20 21:44:22 浏览: 121
vue 组件中添加样式不生效的解决方法
在 Ant Design 的样式中,`.ant-tag-checkable-checked` 的样式是通过 `:before` 伪元素来实现的。这种情况下,我们需要使用 `::before` 伪元素选择器来覆盖默认的样式。
下面是一个简单的示例,展示如何使用 `::before` 伪元素选择器来修改 `CheckableTag` 组件的样式:
```less
// index.module.less
@import "~antd/dist/antd.less"; // 引入 antd 样式文件
// 自定义样式
.custom-tag {
&.ant-tag-checkable-checked::before {
background-color: red; // 修改选中状态下的背景色
}
}
```
在上面的代码中,我们首先引入了 Ant Design 的样式文件。然后,我们定义了一个 `.custom-tag` 样式类,用于修改 `CheckableTag` 组件的样式。
在 `.custom-tag` 样式类中,我们使用 `&.ant-tag-checkable-checked::before` 选择器来选中选中状态下的伪元素,并修改其背景色。
最后,我们将 `.custom-tag` 样式类应用到 `CheckableTag` 组件上即可:
```jsx
import { CheckableTag } from 'antd';
import styles from './index.module.less';
function MyComponent() {
return (
<div>
<CheckableTag className={styles['custom-tag']}>Tag 1</CheckableTag>
<CheckableTag className={styles['custom-tag']}>Tag 2</CheckableTag>
</div>
);
}
```
在上面的代码中,我们使用 `className` 属性将 `.custom-tag` 样式类应用到 `CheckableTag` 组件上,从而修改其样式。
需要注意的是,为了确保样式生效,我们需要使用 `less-loader` 或者 `css-loader` 中的 `modules` 选项来启用 CSS 模块化。同时,为了避免样式冲突,建议使用类似于 `styles['custom-tag']` 的方式来引用样式。
阅读全文