Vue3使用PrimeVue 3.5.0 Calendar组件触发渲染函数执行错误
问题原因
你遇到的报错是PrimeVue 3.5.0版本Calendar组件的已知版本bug,该版本是PrimeVue适配Vue3的早期版本,日历显隐逻辑中存在对未初始化变量直接调用方法的问题,触发日历显示/隐藏的点击事件时就会抛出错误,和Vue本身无关。
解决方案
可选两个方案处理:
- 方案1(推荐):升级PrimeVue到3.7.0及以上稳定版本,该bug已经在后续版本被官方修复,升级后无需修改现有业务代码即可正常运行。
升级命令示例:
升级时建议同步升级primeicons到^6.0.0以上版本,避免出现样式不兼容问题。# 升级到最新稳定版 npm install primevue@latest - 方案2(临时规避,不升级依赖):
两种二选一即可:- 给Calendar组件添加
:show-time="false"属性,修改后的组件代码为:
<Calendar v-model="evento.dateCalendar" :show-time="false"/>- 将data中
dateCalendar的初始值从null改为空字符串''。
- 给Calendar组件添加
修改完成后点击输入框唤起日历、点击外部区域收起日历均不会再抛出错误,日期选择后v-model绑定的值也能正常获取。
内容的提问来源于stack exchange,提问作者Lucas David Ferrero
相关产品推荐
相关产品推荐

