Moe 发表于 2024-12-5 16:00:40

【V14.2.6】设置spreadjs主题为black时,背景颜色依然为白色

https://demo.grapecity.com.cn/sp ... /spread-theme/react

看了这个例子,写的代码


结果只有 scroll 样式生效了

Wilson.Zhang 发表于 2024-12-5 16:00:41

本帖最后由 Wilson.Zhang 于 2024-12-6 12:06 编辑

Moe 发表于 2024-12-6 09:05
老师你好,是我表达的不明确,设置主题black后,对应的行头、列头、背景都没有改变。如图
根据您提供的代码片段,理解您应该是想要根据选项设置主题,从而导入主题对应的css资源文件。那您可以参考官网教程中的方式,如下图所示:


可以参考官网教程了解详情:
https://demo.grapecity.com.cn/spreadjs/SpreadJSTutorial/features/theme/external-theme/vue

Wilson.Zhang 发表于 2024-12-5 17:40:26

您好!您描述的现象是正常现象,主题仅作用于非sheet区域,包括行头、列头、滚动条、底部状态栏。如果您需要sheet中的单元格呈现某种统一的颜色,可以通过对sheet中所有单元格设置统一的背景色实现。

可以参考官网教程了解主题Theme:
https://demo.grapecity.com.cn/spreadjs/SpreadJSTutorial/features/theme/spread-theme/purejs

需要注意的是,如果通过样式设置,SpreadJS针对不同层次的样式有不同的渲染优先级,如下所示:条件格式>单元格>行>列>表单。

Moe 发表于 2024-12-6 09:05:08

老师你好,是我表达的不明确,设置主题black后,对应的行头、列头、背景都没有改变。如图

Moe 发表于 2024-12-6 14:48:45

本地项目中 target 为 null,请问如何解决:handshake

Moe 发表于 2024-12-6 14:51:30

Wilson.Zhang 发表于 2024-12-6 12:04
根据您提供的代码片段,理解您应该是想要根据选项设置主题,从而导入主题对应的css资源文件。那您可以参 ...

主要是href应该如何设置

Wilson.Zhang 发表于 2024-12-6 17:07:46

Moe 发表于 2024-12-6 14:51
主要是href应该如何设置

其实基本思路就是找到引入SpreadJS主题css文件的<link>标签,删除该<link>标签,然后再参照被删除<link>标签中属性设置创建新<link>标签,将新<link>标签的href属性设置为目标切换主题资源即可。

按照这个思路,首先要查找您项目中html文件中原本引入SpreadJS主题的<link>标签,根据该标签的可使用属性值通过document.querySelector()获取DOM元素。如果没有就直接创建,并定义好相关属性,后续切换通过该属性获取后替换即可。

Moe 发表于 2024-12-9 15:48:56

项目中没有引入<link> 标签,试了直接创建,但是切换时主题还是没生效~

Wilson.Zhang 发表于 2024-12-9 17:39:22

Moe 发表于 2024-12-9 15:48
项目中没有引入 标签,试了直接创建,但是切换时主题还是没生效~

请您排查下css文件资源链接中是否有与您使用的SpreadJS相同的版本号,这一点必须保持一致。另外,需要排查下您使用的css资源链接是否有效,在浏览器访问即可。

我针对没有<link>的场景测试了,可以通过创建<link>元素引入css资源,附上demo,以供参考。
运行效果如下动图所示:

Moe 发表于 2024-12-12 10:44:33

您好 感谢您的耐心解答,css文件资源链接,我不知道如何获取~
只是照着例子这样写,但是样式没生效~
页: [1] 2
查看完整版本: 【V14.2.6】设置spreadjs主题为black时,背景颜色依然为白色