更新记录

1.0.4(2019-12-26)

修复动态修改datePrice后 初始选中无效的bug

1.0.3-1(2019-12-19)

想了想还是打包入uniicon

1.0.3(2019-12-19)

加入 "今天" 标识,新增一种操作模式,新增参数mode

查看更多

平台兼容性

组件开篇 (z-calendar)

带价格(团期)的日历 适合旅游行业或者需要者使用 兼容性:app、h5、微信小程序 其他未测试

如何使用

    <view>
        <z-calendar
            :datePrice="datePrice" 
            howManyMonth="12" 
            @changeDate="changeDate" 
            defaultSelect="2019-12-12"
            mode="1">
        </z-calendar>
    </view>
    import zCalendar from "../../components/njzz-calendar/njzz-calendar.vue"
    export default {
        components:{zCalendar},
        data() {
            return {
                datePrice:[
                    {
                        date:"2019-12-11",
                        price:"111"
                    },
                    {
                        date:"2019-12-12",
                        price:"333"
                    },
                    {
                        date:"2019-12-10",
                        price:"222",
                    },
                    {
                        date:"2019-12-09",
                        price:"444"
                    },
                    {
                        date:"2020-02-11",
                        price:"998"
                    },
                    {
                        date:"2020-01-10",
                        price:"2998"
                    },
                    {
                        date:"2020-11-10",
                        price:"29928"
                    }
                ]
            };
        },
        methods:{
            changeDate(data){ //选择日期事件  可以将data绑定到此页面以用来提交等操作
                console.log("日期:"+data.date);
                console.log("价格:"+data.price);
            }
        }
    }

属性说明

属性名 类型 默认值 说明
datePrice List [] 价格列表 [{date:日期,price:价格}]
howManyMonth String 12 包含当前月份,共显示几个月
defaultSelect String "" 默认选中的日期 例如"2019-12-12""
mode String 1 操作模式 1:固定月份滚动 2:自由选择年月(默认可选择未来10年,可修改源码中afterYears值)

事件说明

事件名 说明
@changeDate 选中日期事件,会传入(data)用于当前页面使用,详见demo

事件返回属性

{
    date:"2019-12-12",
    price:"9999"
}

其他说明

因为存在默认选中 但默认选中后 如果后续没有选中,则组件无法$emit参数给当前页,一般来说初始值已经在当前页面拿到了,如果不想重新格式化数据或其他原因 请设置组件属性ref="calendar" 然后通过this.$refs.calendar.getSelectData() 获取已经格式化过的数据

关于bug、需求、意见及建议

由于是项目中需要一个这样的日历,所以目前仅保证了需求的基础功能的实现,等空闲时间计划加入 多选、区间选择、标准日历模式(上一月,下一月)、主题等。同时欢迎大家提出宝贵意见 如遇重大bug请留言或联系qq 907091336,热烈欢迎大家进行修改并分享到插件市场。

重要

scss报错请先点击 “工具 - 插件安装 - scss/sass编译”

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问