From 4190affb665438b1067af88f09e8557abbbfea2b Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期四, 04 十一月 2021 00:03:46 +0800 Subject: [PATCH] 2021-11-04 --- src/tabviews/zshare/mutilform/mkDatePicker/index.jsx | 22 ++++++++++++++++++++-- 1 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/tabviews/zshare/mutilform/mkDatePicker/index.jsx b/src/tabviews/zshare/mutilform/mkDatePicker/index.jsx index 3d4377b..b2acd83 100644 --- a/src/tabviews/zshare/mutilform/mkDatePicker/index.jsx +++ b/src/tabviews/zshare/mutilform/mkDatePicker/index.jsx @@ -31,6 +31,8 @@ this.state = { value, + minDate: config.minDate ? moment().add(config.minDate, 'days').endOf('day') : '', + maxDate: config.maxDate ? moment().add(config.maxDate, 'days').endOf('day') : '', mode, format } @@ -52,16 +54,32 @@ this.props.onChange(val ? moment(val).format(format) : '') } + disabledDate = (current) => { + const { minDate, maxDate } = this.state + + if (!current || (!maxDate && !minDate)) { + return false + } + + if (!maxDate) { + return current < minDate + } else if (!minDate) { + return current > maxDate + } else { + return current < minDate || current > maxDate + } + } + render() { const { config } = this.props const { value, mode } = this.state if (mode === 'date') { - return <DatePicker defaultValue={value} disabled={config.readonly} onChange={this.onChange}/> + return <DatePicker defaultValue={value} disabledDate={this.disabledDate} disabled={config.readonly} onChange={this.onChange}/> } else if (mode === 'month') { return <MonthPicker defaultValue={value} disabled={config.readonly} onChange={this.onChange}/> } else if (mode === 'datetime') { - return <DatePicker defaultValue={value} showTime disabled={config.readonly} onChange={this.onChange}/> + return <DatePicker defaultValue={value} disabledDate={this.disabledDate} showTime disabled={config.readonly} onChange={this.onChange}/> } } } -- Gitblit v1.8.0