Open mengsui opened 2 weeks ago
我也遇到跟你一样的问题 我是使用路由切换页面后下面action的樣式会跑掉 前提是上一个页面有使用ProList设置actions的组件 切换到下一个页面也是有使用ProList设置actions的组件,這时就会遗失样式,然後畫面重新整理就又恢復了,超詭異 还在找原因就刚好看到你的issue
目前我发现ProList里面引用的是CheckCard,CheckCard和Card引用的是同一个Actions组件。
Actions使用@ant-design/cssinjs的时候使用的组件的名字设置的useStyleRegister的path,但是我没有找到对应useStyleRegister对应的path参数的具体文档。
我测试了下,如果我把Actions的useStyle改为下面的代码是可以解决这个问题的。
export default function useStyle(prefixCls?: string) {
return useAntdStyle(`ProCardActions${prefixCls}`, (token) => {
const proCardActionsToken: ProCardActionsToken = {
...token,
componentCls: `.${prefixCls}`,
cardActionIconSize: 16,
};
return [genActionsStyle(proCardActionsToken)];
});
}
如图:
我猜想prefixCls变化后组件名称没有变化导致缓存的值没更新。
可以提个pr
useAntdStyle是个通用方法,我这种写法破坏了规范,我暂时没有好的想法可以解决这个问题。
🐛 bug 描述
ProList设置cardActionProps为actions后会和ProCard的actions样式冲突,先加载的样式会生效,后加载的样式会错乱
💻 复现代码
🚑 其他信息
图一:
图二: