-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Open
Labels
enhancementNew feature or requestNew feature or request
Description
这个需求解决了什么问题:
问题背景
在 微前端 / 多应用 / 组件被嵌入使用 的场景下,vxe-table 目前的样式是全局生效的,缺乏官方的样式隔离机制。
当出现以下情况时,CSS 冲突问题会非常明显:
- 不同子应用使用了 不同版本的 vxe-table
- vxe-table 作为 公共库 被多个项目依赖
- 子应用通过微前端方式挂载到主应用容器中
常见问题包括但不限于:
- 表格样式被其他应用覆盖
- 样式问题难以定位和维护
现有解决方式的不足
目前只能通过一些“工程侧”的方式规避,例如:
- 使用
postcss-prefixwrap等工具给 CSS 强行加前缀
这些方案存在的问题:
- 侵入性强,维护成本高
- 不够统一,团队间难以约束
- 对使用者不友好,且容易遗漏
建议的 API 是什么样的:
希望 vxe-table 能提供 官方支持的样式隔离能力,类似 ant-design-vue 的处理方式。
例如(仅作为思路):
方案:配置化的样式作用域
通过配置指定样式作用域,例如:
VXETable.setup({
styleScope: '.my-vxe-scope'
})构建或运行时自动处理样式前缀。
参考实现
ant-design-vue 在样式隔离 / 命名空间方面的设计,对大型项目和微前端场景非常友好,可作为参考方向。
预期收益
- 更好地支持微前端架构
- 允许多个版本的 vxe-table 共存
- 降低企业级项目的集成成本
- 减少样式冲突相关的问题和维护成本
- 提升升级的可控性和安全性
是否已有其他不错的替代方案:
No response
是否使用当前最新版本?
- 我已确认是使用当前的最新版本。
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request