日历 Calendar

示例

基本形式

<div class="g-row">
    <div class="g-col"><calendar /></div>
    <div class="g-col"><calendar date="2008-08-08" /></div>
</div>

禁用组件

<calendar disabled />

日期范围

<div class="g-row">
    <div class="g-col"><calendar minDate={minDate} maxDate={maxDate} /></div>
    <div class="g-col"><calendar minDate="2008-08-08" maxDate="2008-08-16" /></div>
</div>
<div class="g-row">
    <div class="g-col"><calendar ref="customCalendar" /></div>
</div>
var component = new RGUI.Component({
    template: template,
    data: {
        minDate: new Date(+new Date + 2*24*3600*1000),
        maxDate: new Date(+new Date + 7*24*3600*1000)
    },
    init: function() {
        // 只能选择星期一、三、五
        this.$refs.customCalendar.isOutOfRange = function(date) {
            return !(date.getDay()%2);
        }
        this.$refs.customCalendar.$update();
    }
});

数据绑定

<div class="g-row">
    <div class="g-col"><calendar date={date} /></div>
    <div class="g-col"><calendar date={date} /></div>
</div>
<p>当前选择的日期为:{date | format: 'yyyy-MM-dd'}</p>
var component = new RGUI.Component({
    template: template,
    data: {
        date: '2008-08-08'
    }
});

事件

请打开浏览器的控制台查看结果。

<calendar
    on-select={console.log('on-select:', '$event.date:', $event.date)}
    on-change={console.log('on-change:', '$event.date:', $event.date)} />

API

Class

Calendar

继承自Component

Options

new Calendar()

参数类型默认值数据流向描述
dataobject绑定属性
data.dateDate
string
TODAYouter <=> inner当前选择的日期
data.minDateDate
string
nullouter => inner最小日期,如果为空则不限制
data.maxDateDate
string
nullouter => inner最大日期,如果为空则不限制
data.readonlybooleanfalseouter => inner是否只读
data.disabledbooleanfalseouter => inner是否禁用
data.visiblebooleantrueouter => inner是否显示
data.classstring''outer => inner补充class

Methods

calendar.addYear(year)

调整年份

参数类型默认值描述
yearnumber0加/减的年份
返回值类型描述
dateDate计算后的日期

calendar.addMonth(month)

调整月份

参数类型默认值描述
monthnumber0加/减的月份
返回值类型描述
dateDate计算后的日期

calendar.select(date)

选择一个日期

参数类型默认值描述
dateDatenull选择的日期
返回值类型描述
无返回值

calendar.goToday()

回到今天

参数类型默认值描述
无参数
返回值类型描述
无返回值

calendar.isOutOfRange(date)

是否超出规定的日期范围

参数类型默认值描述
dateDate待测的日期
返回值类型描述
dateboolean
Date
如果没有超出日期范围,则返回false;如果超出日期范围,则返回范围边界的日期

Events

calendar.$on('change')

日期改变时触发

属性类型描述
senderobject事件发送对象
dateobject改变后的日期

calendar.$on('select')

选择某一个日期时触发

属性类型描述
senderobject事件发送对象
dateobject当前选择的日期