更新记录
                                                                                                    
                                                    
                                                        1.0.0(2022-03-17)
                                                                                                                    
                                                                下载此版本
                                                            
                                                        
                                                    
                                                    公历/农历日期选择器发布,欢迎大家下载使用
                                                                                                                                                
                                            
                                                                                                                                                        平台兼容性
                                                                                                                                                                                                                                                                                                                                uni-app
                                                                                                                                                                                                                                    
| Vue2 | 
Vue3 | 
Chrome | 
Safari | 
app-vue | 
app-nvue | 
Android | 
iOS | 
鸿蒙 | 
| √ | 
- | 
√ | 
√ | 
√ | 
√ | 
- | 
- | 
- | 
                                                                                                                                                            
| 微信小程序 | 
支付宝小程序 | 
抖音小程序 | 
百度小程序 | 
快手小程序 | 
京东小程序 | 
鸿蒙元服务 | 
QQ小程序 | 
飞书小程序 | 
快应用-华为 | 
快应用-联盟 | 
| √ | 
√ | 
√ | 
√ | 
- | 
- | 
- | 
√ | 
- | 
√ | 
√ | 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                其他
                                                                                                                                                                                                                                    
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
                                            better-calendar
介绍
uniapp、vue2日历组件
支持农历和公历日期选择器,包含年、月、日选择,支持农历公历切换
软件架构
│
├── components                        
│   ├── better-calendar.js            # 日期选择器公共方法
│   └── index.vue                     # 日期选择器组件
├── pages                             # 示例
│   └── index                         
│       └── index.vue     
│   ├── ……                            # 其余文件是uniapp常规文件,不具体介绍了        
安装教程
- 使用HbuilderX打开
 
- 运行到指定平台
 
- 可在DCloud下载插件:https://ext.dcloud.net.cn/plugin?id=7642
 
使用说明
- components/better-calendar里是组件,可复制引用  
 
- 调用方式
 
    <better-calendar
      ref="betterCalendarRef"
      :showCalendar="showCalendar"
      @confirm="selectDate"
      @cancel="showCalendar = false"
    ></better-calendar>
import dayjs from "dayjs";
import BetterCalendar from "@/components/better-calendar";
components: { BetterCalendar },
data() {
  const INIT_DAY_TYPE = "solar";
  const INIT_DAY_TIMESTAMP = dayjs().valueOf();
  const INIT_DAY = dayjs().format("YYYY-MM-DD");
  return {
    showCalendar: false,
    date: {
      type: INIT_DAY_TYPE, // 类型
      timestamp: INIT_DAY_TIMESTAMP, // 时间戳
      solarDate: INIT_DAY, // 公历日期 - 文本(2000-1-1)
      lunarDate: "", // 农历日期 - 文本(己卯年冬月廿五(2000-1-1))
      lunarDateNumber: "", // 农历生日的数字写法(1999-12-25)
    },
  };
},
methods: {
  openBetterCalendar() {
    this.showCalendar = true;
  },
  async selectDate(e) {
    this.date = await {
      type: e.type,
      timestamp: dayjs(e.solarDate).valueOf(),
      solarDate: e.solarDate,
      lunarDate: e.lunarDate,
      lunarDateNumber: e.lunarDateNumber,
      isLeap: e.isLeap, // 一年里是否有闰月
    };
    this.showCalendar = false;
  },
},
- 传入参数说明
 
| 参数 | 
必传 | 
说明 | 
类型 | 
默认值 | 
可选值 | 
| showCalendar | 
是 | 
是否展开选择器 | 
boolean | 
false | 
false/true | 
| minYear | 
否 | 
最小可选年份 | 
number | 
1900 | 
- | 
| maxYear | 
否 | 
最大可选年份 | 
number | 
2100 | 
- | 
| defaultType | 
否 | 
首次展开的类型,公历/农历 | 
string | 
solar | 
solar/lunar | 
| defaultValue | 
否 | 
选择器的年月日默认值。minYear + y = 当前年,m + 1 = 当前月,d + 1 = 当前日。如想要默认选择为2020年1月3日,则需传[120, 0, 2] | 
array | 
[100, 0, 0] | 
- | 
| isSwitch | 
否 | 
是否要农历公历切换功能 | 
boolean | 
true | 
false/true | 
- 返回参数说明
 
| 参数 | 
说明 | 
类型 | 
| type | 
当前选择的类型 | 
boolean | 
| timestamp | 
选择日期对应的时间戳 | 
number | 
| solarDate | 
如果type为solar,则界面应使用这个字段 | 
string | 
| lunarDate | 
如果type为lunar,则界面应使用这个字段 | 
string | 
| lunarDateNumber | 
对应lunarDate字段的阿拉伯数字日期 | 
string | 
| isLeap | 
是否闰月 | 
boolean | 
鸣谢
本项目基于 https://ext.dcloud.net.cn/plugin?id=3806 优化,在此感谢!