手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表分类:Javascript

exceljs的一些注意事项

 在使用 exceljs 进行导出的时候 。如果是全部自己写的代码那控制起来会比较方便。你 mergeCell 或者 splitRow,都没什么大问题,但要注意几点

1、时刻观察:worksheet._merges,因为在 mergeCell 的时候 已经合并过的表,是不能再次被合并的。会报错,这时候 可以用 getCell().model,看看是不是 master。如果是的话,可以先 unMergeSells()
2、在 mergeCells后,如果你有 insertRows 等类似的操作。只要影响到刚才 merge 过的单元格时,原来所有的 merge 都会被清空,这点要注意。
3、worksheet 可以设置冻结行和列,直接通过 worksheet.views,就可以定义 state:frozen,定义好左上角开始的坐标,然后定义 xSplit 和 ySplit 就行了。
 
更多的使用方法,还是看官方吧:https://github.com/exceljs/exceljs/blob/master/README_zh.md
 

如何解决 “0308010c:digital envelope routines::unsupported” 的错误

 在使用webpack或者vue-service-cli 的时候,启动时出现:“0308010c:digital envelope routines::unsupported” 的错误,这时候应该怎么解决呢?

 
这个错误的原因可能有两个:
1、 你没有使用 Node JS 的 LTS(长期支持)版本或者是版本太新了。我现在我使用的是 Node 18.0.0。所以我直接npm -g add n ,安装了一个多版本的管理工具,切到16后正常了
2、将 --openssl-legacy-provider 传递给 Webpack 或 CLI 工具 例如,在 React 应用程序中,你可以将 --openssl-legacy-provider 传递给启动脚本,如 "react-scripts --openssl-legacy-provider start"。
 
2是网上查的资料,因为我1就直接解决了,所以2没用上,如果你方法1没有解决问题,那可以尝试方法2

使用UniAPP的data-select弹窗穿透其他组件的问题

虽然已经知道所谓的:在vue中,两个不同的组件,A加了层级或者A的子元素加了层级(大于1),B没加,不管B的子元素层级有多高都不会再A上面显示。

 
但发现不管怎么调整,下拉框还是被其他组件覆盖了,这时候我才注意到有一个sticky的样式。为了让这个元素能够留在顶部,结果就出现了样式穿透的问题了。记录一下下次再遇到的时候,也好加深一下记忆
 
参考:
1、https://www.zhangxinxu.com/wordpress/2018/12/css-position-sticky/ ,杀了个回马枪,还是说说position:sticky吧

vue3中require被报equire is not defined

 require这玩意不属于vite的功能,也不是vue的功能,我没有用webpack,所以无法直接用require。

但因为参考的项目用了require.context的遍历,所以就在想应该怎么弄呢。查了一下资料,发现vite有提供现成的:import.meta.glob,用法和 require.context差不多。
 
参考一下:功能 | Vite 官方中文文档 (vitejs.dev)
 
原来的代码: const requireModules = require.context('./modules/', true, /index\.(ts|js)$/iu)
 
修改后的代码:const requireModules = import.meta.glob('./modules/*/index.(ts|js)')
只是原来requireModules还是一个function,而修改后的是一个Object,因此遍历的代码就要再改一下,比如原来可以直接requireModules.keys(),现在只能用Object.keys(requireModules)。
 
至此,修改完毕。

引入unplugin-auto-import无效

 前段时间用React,这段时间用Vue3(用uniapp写小程序的时候也尝试切换到vue3了),本来觉得很累的,毕竟在每次使用都要import {vue} from 'vue'之类的,在使用了unplugin-auto-import插件后,真的少写了好多。但也要看unplugin-auto-import是不是支持。

 
比如我现在直接引用了vue,象现在onMounted/ref等都不再定义了。
 
然而刚开始的时候却是怎么都没法用,这时候才发现虽然我代码都是用JS写的,但auto-import插件是ts写的,必须要引入typescript组件,然后他才生成一个:auto-imports.d.ts的文件,这时候配合<script setup>这个所谓vue3的黑魔法,才是妥妥的。
 
没什么大东西,就是这么记录一下
Records:28912345678910»