ant-design-vue@3.2版本DatePicker单时间panelChange不触发

783 阅读1分钟

问题

  • 使用ant-design-vue@3.2版本时候发现使用onPanelChange事件不触发导致一些自定义功能开发困难

动画.gif

解决

1、升级解决,升级到@4版本,问题已经修复 2、修改源码使用patch-package进行打补丁

找到出问题的源码文件 node_modules\ant-design-vue\es\vc-picker\Picker.js

image.png 看看更改后的效果

动画.gif

原因:下方进行了onPanelChange调用,但是前面没有props传递

但是直接修改源码不是完美解决,需要配合patch-package包进行补丁修复,在我们使用, npm i安装的时候会自动进行源码的修改。

1. 安装patch-package

npm i patch-package -D

2.执行patch命令

npx patch-package ant-design-vue 生成patches文件夹

3. 在package.json的script里面增加一段命令

"postinstall": "patch-package"

在其他人进行拉取代码使用npm i安装的时候也会同步的打补丁。

最后我们删除node_module重新安装构建测试结果。

如果使用pnpm的的话可以参考:使用pnpm的patch命令打补丁 - 掘金 (juejin.cn)