3.1.0-beta • Published 5 years ago

beyond-datetime v3.1.0-beta

Weekly downloads
3
License
MIT
Repository
github
Last release
5 years ago

beyond-datetime

简体中文版,浏览器支持 ie9+ (ie8未经测试过)

fork from http://adphorus.github.io/react-date-range

文档

安装

$ npm install --save beyond-datetime

使用

Calendar

日期选择器

基本用法

require('beyond-datetime/css/index.css')
import React, { Component } from 'react';
import { Calendar } from 'beyond-datetime';

class MyComponent extends Component {
	handlerSelect(date){
		console.log(date); // Date object
	}

	render(){
		return (
			<div>
				<Calendar onChange={this.handlerSelect} />
			</div>
		)
	}
}

增加时间选择

class MyComponent extends Component {
	handlerSelect(date){
		console.log(date); // Momentjs object
	}

	render(){
		return (
			<div>
				<Calendar time onChange={this.handlerSelect} />
			</div>
		)
	}
}

禁止选择前一天以及更早的日期

const invalidDates = (date)=>{
	let today = new Date
	today.setHours(0)
	today.setMinutes(0)
	today.setSeconds(0)
	today.setMilliseconds(0)
	return  +date < +today
}

class MyComponent extends Component {

	render(){
		return (
			<div>
				<Calendar invalidDates={invalidDates} />
			</div>
		)
	}
}

从外部通过属性更新,禁止内部setState进行更新, onChange 事件必须返回 false 阻止内部 state 更新,本例也适用于 DateRange、 Time 组件

class MyComponent extends Component {

	constructor(props){
		super(props)
		this.state = {
			date : new Date
		}
	}

	handlerChange(date){
		this.setState({date})
		return false  // 返回false 阻止 Calendar 组件内部刷新
	}

	render(){
		return (
			<div>
				<Calendar date={this.state.date} onChange={this.handlerChange.bind(this)}  />
			</div>
		)
	}
}

Calendar API (props)

属性类型说明默认值
defaultDateDate设定默认日期值-
dateDate设定日期值-
onChangeFunction改变日期/时间事件-
onConfirmFunction通过确定按钮改变日期/时间事件-
invalidDatesFunction禁止选择的日期-
confirmboolean显示确定按钮-
timeboolean是否显示时间选择false
secondboolean是否显示秒选择true
timeFilterArray/Function时间过滤-
languagestring ('en','cn')时间过滤'cn'

DateRange

日期范围选择器

基本用法

require('beyond-datetime/css/index.css')
import React, { Component } from 'react';
import { DateRange } from 'beyond-datetime';

class MyComponent extends Component {
	handlerSelect(range){
		console.log(range.startDate,range.endDate);
	}

	render(){
		return (
			<div>
				<DateRange onChange={this.handlerSelect}/>
			</div>
		)
	}
}

使用默认预设(包括今天,昨天,最近7天,最近30天)选择范围

require('beyond-datetime/css/index.css')
import React, { Component } from 'react';
import { DateRange,defaultRanges } from 'beyond-datetime';

class MyComponent extends Component {

	handlerSelect(range){
		console.log(range.startDate,range.endDate);
	}

	render(){
		return (
			<div>
				<DateRange ranges={defaultRanges} onChange={this.handlerSelect} />
			</div>
		)
	}
}

时间过滤

require('beyond-datetime/css/index.css')
import React, { Component } from 'react';
import { DateRange,defaultRanges } from 'beyond-datetime';
const filter = ()=> [[0,3,6,9,12,15,18,21],[0,15,30,45,60],[0,15,30,45,60]]
class MyComponent extends Component {

	handlerSelect(range){
		console.log(range.startDate,range.endDate);
	}

	render(){
		return (
			<div>
				<DateRange timeFilter={filter} ranges={defaultRanges} onChange={this.handlerSelect} />
			</div>
		)
	}
}

DateRange API (props)

属性类型说明默认值
defaultStartDateDate设定默认的开始日期值-
defaultEndDateDate设定默认的结束日期值-
startDateDate设定开始日期值-
endDateDate设定结束日期值-
onChangeFunction改变日期/时间事件-
onConfirmFunction通过确定按钮改变日期/时间事件-
rangesArray快捷的日期范围选择-
invalidDatesFunction禁止选择的日期-
timeboolean是否显示时间选择false
secondboolean是否显示秒选择true
timeFilterArray/Function时间过滤-
startTimeFilterArray/Function开始日期时间过滤,优先级高于 timeFilter-
endTimeFilterArray/Function结束日期时间过滤,优先级高于 timeFilter-

Time

时间选择器

基本用法

require('beyond-datetime/css/index.css')
import React, { Component } from 'react';
import { Time } from 'beyond-datetime';
const filter = ()=> [[0,3,6,9,12,15,18,21],[0,15,30,45,60],[0,15,30,45,60]]

class MyComponent extends Component {
	handlerSelect(range){
		console.log(range.startDate,range.endDate);
	}

	render(){
		return (
			<div>
				<Time filter={filter} onChange={this.handlerSelect}/>
			</div>
		)
	}
}

Time API (props)

属性类型说明默认值
defaultDateDate设定默认日期值-
dateDate设定日期值-
onChangeFunction改变日期/时间事件-
onConfirmFunction通过确定按钮改变日期/时间事件-
confirmboolean显示按钮-
secondboolean是否显示秒选择true
filterArray/Function时间过滤-

Trigger

require('beyond-datetime/css/index.css')
import React, { Component } from 'react';
import { Calendar,Trigger } from 'beyond-datetime';

class MyComponent extends Component {

	constructor(props){
		super(props)
		this.state = {
			date : null
		}
	}

	handlerChange(date){
		this.setState({date})
	}

	render(){
		let {date} = this.state
		return (
			<div>
				<Trigger target={<Calendar defaultDate={date} time onConfirm={this.handlerChange.bind(this)} />}>
					<input type="text" value={date ? date.toString() : '' } />
				</Trigger>
			</div>
		)
	}
}

Trigger API (props)

属性类型说明默认值
targetCalendar/DateRange--
wrapStyleobjectTrigger 会默认生成一个 div (style="display:inline-block")标签实现定位, 使用 wrapStyle 进行覆盖该div默认样式-
3.1.0-beta

5 years ago

3.0.0-beta

6 years ago

2.2.0

6 years ago

2.1.0

6 years ago

2.0.0

7 years ago

2.0.0-beta.8

7 years ago

2.0.0-beta.7

7 years ago

2.0.0-beta.6

7 years ago

2.0.0-beta.5

7 years ago

2.0.0-beta.4

7 years ago

2.0.0-beta.3

7 years ago

2.0.0-beta.2

7 years ago

2.0.0-beta.1

7 years ago

1.3.9

7 years ago

1.3.8

7 years ago

1.3.7

7 years ago

1.3.6

7 years ago

1.3.5

7 years ago

1.3.4

8 years ago

1.3.2

8 years ago

1.3.1

8 years ago

1.3.0

8 years ago

1.3.0-beta2

8 years ago

1.3.0-beta

8 years ago

1.1.1

8 years ago

1.1.0

8 years ago

1.0.0

8 years ago