- 博客(188)
- 收藏
- 关注
原创 zebra扫描枪开发踩坑
1在基于vue3+ts的项目中,封装hooks但是通过测试发现根本扫码的结果不显示,成功的回到无法执行。但是handleKeyDown函数末尾 console.log('codeBuffer', codeBuffer)却有结果,如下图if (event.key === 'Enter') 的逻辑根本没有执行。问题在哪里?
2026-01-23 14:27:33
373
原创 konva实现canvas画图基础版本
console.log('拖拽结束,原始点:', dragStartPoints, '结束点:', dragEndPoints);console.log('执行撤销操作:', operation.type, '剩余历史:', history.length);// 保持透明度不变。
2025-12-16 10:29:18
360
原创 通过下载nvm安装了node,但是在vscode编辑器的终端执行node -v报错:
node不是无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。此后当前用户的所有 PowerShell 会话都能运行本地脚本,npm、npx 等不再报错。
2025-12-05 11:29:36
143
原创 vue3中返回带参数如何实现?
1如果想在B页面返回时操作A页面中的数据。A页面中定义的数据(可以是ref对象或者函数)必须要通过defineExpose()出去。否则prevPage.$vm拿不到。因为vue3默认内部都是私有的。2 如果是A页面中定义的对象是通过ref()定义的,在B页面修改时无需.value;1 利用$vm对象。直接获取上一个页面对象的实例,直接操控该页面中的数据进行更改。
2025-09-23 16:02:23
379
原创 uniapp表单
2 自定义验证函数不是validate而是validateFunction。1 表单验证绑定的数据key不是:model而是 :modelValue。3 单独对某个表单元素设定blur事件期望通过表单本身去做验证写法。
2025-08-27 09:44:10
289
原创 如何在uniapp中实现一个表格组件?
3 支持自定义样式和自定义操作。比如修改列数据内容样式,上图中年龄做了自定义的处理,点击某列内容可以自定义操作。2 表格头支持勾选功能,并且支持配置。通过配置显示或隐藏该功能。1 表格头自定义列。
2025-01-16 13:43:31
1737
原创 uniapp中实现一个tree组件
原本打算通过递归实现,发现在小程序开发者工具中只能展示一级。最后采用了另外一种思路。把所有数据全部拍平根据是否有children自动缩进形成层级效果。
2025-01-02 15:35:20
1771
原创 vue3中自定义组件的双向绑定
const localValue = props.modelValue 这里不要用const localValue =ref( props.modelValue)同时,更改子组件里input的值以后,父组件的数据格式变成了{id:"0001",num:3,value:{d:"0001",num:3,}},我们通过一个简单的实例来看看。这时候当我们更改子组件中input的值的时候父组件的值也会同步更改。第二种解法其实同理,只不过父子组件中双向同步的不是一个具体的num值而是一个对象。这里3是更改以后的值。
2024-12-17 21:58:20
421
原创 基于Vue3写一个uniapp的弹窗
注意:自定义弹窗在长列表情况下会出现弹窗遮罩滚动内容依然可以滚动的情况。这时候只需要通过meta-page来控制即可。
2024-12-04 14:54:42
927
原创 uniapp中scrollview配合swiper实现一个简单的tab标签页
1横向滚动的动画效果主要依靠scrollview自带的croll-with-animation="true"来设置。2 而底部下划线则是给当前激活的tab设置伪元素来实现。
2024-11-30 21:51:11
751
原创 element-plus弹窗二次封装踩坑
但是我们考虑一个场景,就是表单弹窗复用。这时候我们手动传属性标识是编辑还是新增就很麻烦。有一个简单的办法就是我们在关闭弹窗时直接把它销毁,这样每次我们只需要在生命周期的onMounted中判断是否有id传过来就可以了。在组件内部,我们通过定义visible,初始状态和props.modelValue绑定,后续跟新在watch里同步,这样就可以实现每次销毁和挂载。这一版的特点就是弹窗的关闭时其实本身没有销毁。我们是通过双向绑定跟新了弹窗的状态。1 基于element-plus的二次封装弹窗很常见。
2024-11-27 22:32:35
411
原创 element中封装axios如何实现请求函数自定义loading
我们的目的是想实现一个基于axios封装的函数,可以传入一个参数loading,当参数为true时,显示加载动画。不传时则不显示loading。
2024-11-16 22:59:11
580
原创 element-plus中踩坑记录
(1)给el-anchor设置container属性。表示要控制哪个容器滚动。(2)一定要给容器添加高度。1关于锚点定位组件。
2024-11-10 09:57:43
2243
原创 关于vue3中如何实现多个v-model的自定义组件
实现自定义组件<User v-model="userInfo" v-model:gender="gender"></User>
2024-10-21 21:28:25
525
原创 arkts中状态管理
(2) 在当前页面通过localstorage的app定义一个storage对象并传入entry装饰器函数中。(1)在entryAbility.ets中定义localstorage变量。(3)在当前页面中定义一个变量别名作为localstorage变量的引用。1 arkts中localstorage的使用。
2024-07-17 09:43:13
382
原创 uniapp踩坑细节
解决办法(1)给scroll-view设置如下css样式(2)给scroll-view设置enhance属性和:show-scrollbar="false"2 uniapp中定义全局变量需要在根目录的uni.scss文件中定义,通过main.js中引入自定义的scss文件不会编译生效ps: scss文件中定义自定义函数如果带单位的话,需要做如下修改:
2024-03-26 17:41:02
1080
原创 nest小结
同时应用RequestInterceptor和ResponseInterceptor,这样就能实现全局的路由拦截。提示:这里我们是针对某些具体的请求做了拦截处理,包括返回值格式化,如果要对全局所有接口都作统一的处理,这时候我们需要做如下更改。该命令将生成目录interceptor,且包含reqest和response两个函数。nest g middle name (生成中间件)如果header中没有token则会报错,而其他接口则不受影响。以上我们以list接口为例,请求。app.module.ts中。
2024-02-23 15:05:56
592
1
原创 uniapp中封装一个svg转base64的组件
uniapp中由于不支持svg--》base64,同时无法使用h5中atob,这里我们采用js-base64插件实现这样一个组件,只要传人svg的代码即可在uniapp中转为base64,同时支持自定义参数,比如宽度,高度等。我们在组件内部定义了一个函数用于处理px单位的转化,因为style的设置无法实现px自动转为vw。
2024-02-02 17:36:05
1398
原创 基于ts的node项目引入报错归纳
二:TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension ".ts"解决办法:(注意:"ts-node"选项和complierOptions同级)解决办法:去掉pack.json中的type:module。这里通过nodemon运行service.ts报错。
2023-12-19 10:59:11
1675
原创 uniapp+vite+ts+express踩坑总结
2 'Response' is a type and must be imported using a type-only import when 'preserveValueImports' and 'isolatedModules' are both enabled.报错。解决方案:给 { NextFunction,Request,Response } 添加 type 关键词。在package.json中添加type:“module”选项。1 关于引入express包报。
2023-12-13 14:05:01
1461
原创 uniapp中wx.getSystemInfoSync() 或 wx.getSystemInfo() 踩坑
wx.getSystemInfoSync踩坑
2023-12-05 14:03:26
5922
原创 uniapp实现多时间段设置
2 点击“新增时间文本”,弹出弹窗,选择时间,不允许开始时间和结束时间同时为00:00,1 点击新增时间,出现一个默认时间段模板,不能提交。
2023-11-24 11:18:11
1931
1
原创 angular表单踩坑之二
一:如何实现表单项blackList的toggle为true时,显示limitNumber和limitDay提交表单时这两个选项为必填项,如果toggle为false,则无需校验这两个字短。第三步:定义一个函数,接受toggle的值,当为true时,通过setValidators手动设置其为必填项,否则通过clearValidators()函数清除验证规则。
2023-09-23 11:02:01
571
原创 关于点光源踩坑的一点总结
1 点光源不能单独作用域几何体。需要有其他光源的辅助2 如果你添加了点光源,同时设置的是默认值,那么界面上很可能展示的几何体没有任何光源效3对于点光源特别注意它的属性光照距离的衰退量也就是decay。其默认值为2.,如果我们设置一个较小的值就能在界面中看见效果:
2023-09-10 11:42:59
286
原创 threejs特殊几何体(一:文字几何体对象)
threejs中文字几何体通过newTextGeometry()生成,它被单独作为一个类存在于threejs中const txtGeo = new TextGeometry("threejs", { ...opts, font: font });注意点:1 文字几何体font必须要引入。可以使用three库默认的字体。该字体位于three/example/fonts/文件夹下,默认字体采用了json文件格式2 给TextGeometry添加配资的时候,font选项不是普通的字体对象而是three里面的字体
2023-08-26 09:15:04
718
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅