WePY + Vant-weapp 小程序踩坑日志(四)
WePY + Vant-weapp 小程序踩坑日志(四)

WePY + Vant-weapp 小程序踩坑日志(四)

分享到......

开发环境

  • IDE:vscode
  • 开发平台:微信开发者工具
  • 框架:WePY
  • UI组件库:Vant Weapp

解决方法请移步:#解决方法

坑の4:引用“Calendar 日历”+ 尽量不用“DatetimePicker 时间选择”

Q:为什么不用“Datetime Picker 时间选择”?

A: 因为会发生灵异事件:

时间选择组件bug

问题描述:

使用Calendar 日历组件时,日历的 年月副标题 与当前显示的 实际月份 不匹配:

日历组件bug演示
相关issue:https://github.com/youzan/vant-weapp/issues/4694

问题分析:

通过查看issue和调试相关源码可知,此bug有大小屏歧视(bushi

调试过程略(摆)

因此可以简单粗暴地直接关闭副标题

<van-calendar
  show-subtitle="{{ false }}"
  ...
/>

以下优化可省略:

关闭后发现日历中的年月标题太小,显示效果欠佳,于是可以先对比一下两者的样式:

年月副标题样式
日历中副标题样式

可发现两者的唯一区别在于字体大小

于是先记录日历中的年月标题的样式类:

日历中的年月标题的样式类

然后强制修改该类

强制覆盖年月副标题样式

最终效果:

日历优化后最终效果

解决方法:

<van-calendar
  show-subtitle="{{ false }}"
  ...
/>
<style lang="less" scoped>
  ...
  // 此优化不值得推荐,因为它强制覆盖了原样式。
  .van-calendar__month-title {
    font-size: 16px !important;
  }
</style>

知识共享许可协议

本作品采用知识共享署名 4.0 国际许可协议进行许可。
This work is licensed under a Creative Commons Attribution 4.0 International License.

CTB日志https://www.chinathinksbig.com/team/blog/1479484344249745408